VS2015 ASP.NET网站和x64

时间:2017-02-12 12:07:52

标签: asp.net 64-bit iis-8

我正在将我的解决方案从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执行)

我尝试过的其他事情没有成功:

  1. 将x86和x64程序集添加到GAC。在网站中添加对x86程序集或x64程序集的引用。
  2. 在工具下设置 - &gt;选项 - &gt;网络调试 - &gt;使用x64 IIS express
  3. 另请注意,由于这是一个网站,因此在解决方案配置中更改目标平台是一个选项,因为我只有网站的AnyCPU。

    如何让VS将其编译为x64?我编译为x64的其他Web应用程序对同一个x64程序集的引用没有问题(因为它们的目标平台设置为x64),但在网站上我似乎无法设置它。

    我的机器是安装了IIS的Win10 x64机器。

0 个答案:

没有答案