Я пытаюсь использовать систему проектов VS08SP1 по умолчанию для вызова компиляции С# в явном режиме x64 (в отличие от AnyCpu
). Когда я явно помечаю модуль как x64, я получаю:
предупреждение CS1607: генерация сборки -- сборка, на которую ссылается mscorlib.dll, нацелена на другой процессор
Один из способов удалить это с помощью файла /nowarn:1607
. Исходя из моих исследований, на практике это не вызывает проблем. Если кто-то может указать на реальную проблему, с которой он столкнулся, пожалуйста, не стесняйтесь ответить.
Однако это просто кажется неправильным! Так что другой подход, который я использовал, заключался в том, чтобы сделать /nostdlib+
, а затем добавить <Reference>
с жестко закодированным <HintPath>
в явно 64-битную mscorlib:
<Reference Include="mscorlib">
<HintPath>$(windir)\Microsoft.NET\Framework64\v2.0.50727\mscorlib.dll</HintPath>
</Reference>
Это работает и, вероятно, лучше (если только кто-нибудь не захочет указать причины, по которым предыдущий подход лучше), но может ли кто-нибудь подтвердить, что это уместно, надеюсь, со ссылкой на что-то авторитетное?