我正在将我的解决方案从VS2013 x86中的编译迁移到VS2015 x64。我的解决方案包括类库和ASP.NET 网站(不 WEB应用程序) 我的大多数第三方程序集都是为AnyCPU编译的,所以它们很简单,但我确实有专门针对x86或x64编译的特定第三方程序集。直到迁移之前,我在我的网站上引用了x86程序集,这一切都很好。现在,当我尝试迁移到x64时,我更改了我的IIS设置以将池作为x64运行,删除了旧的x86引用,但是当我添加x64引用时,它只是没有出现在网站引用列表中(我尝试使用其他x64程序集结果是一样的)。在尝试编译网站时,我遇到了大量的错误,编译器无法识别x64程序集中的类型以及其他可能缺少的类型(站点在x86中完全可编译)
在线阅读此内容,我发现suggestion添加了一个编译器选项来设置目标平台。当我像这个
一样只将compilerOptions部分添加到web.config时<system.codedom>
<compilers>
<compiler compilerOptions="/platform:x64" />
</compilers>
</system.codedom>
VS突然显示引用和站点是可编译的但是当试图通过IIS访问该站点时,我得到一个错误,编译器行缺少一个语言属性,然后扩展名是missng,直到我到达这个
<system.codedom>
<compilers>
<compiler compilerOptions="/platform:x64" language="c#;cs;csharp" extension=".cs">
</compiler>
<compiler compilerOptions="/platform:x64" language="vb;vbs;visualbasic;vbscript" extension=".vb">
</compiler>
</compilers>
</system.codedom>
现在再次x64程序集不会显示在引用窗口中。
我知道我可以选择转换为Web应用程序并解决此问题,但我想尝试使用该网站解决此问题。
我想这个问题是因为VS IDE是x86而且对于一个网站,它只是尝试将程序集加载为x86进行编译(该网站的实际运行将由设置为运行x64的IIS执行)
我尝试过的其他事情没有成功:
另请注意,由于这是一个网站,因此在解决方案配置中更改目标平台不是一个选项,因为我只有网站的AnyCPU。
如何让VS将其编译为x64?我编译为x64的其他Web应用程序对同一个x64程序集的引用没有问题(因为它们的目标平台设置为x64),但在网站上我似乎无法设置它。
我的机器是安装了IIS的Win10 x64机器。