【发布时间】:2015-11-27 20:42:34
【问题描述】:
我在 Windows 2012 服务器上使用 Visual Studio 2015 和 .net 4.5.2。我正在尝试为我的 webforms 应用程序生成一个纯 x64 dll。我已按照此处的说明进行操作:
https://msdn.microsoft.com/en-us/library/zekwfyz4(v=vs.140).aspx
我这样做的原因是因为我需要调用一些已使用 /clr 开关编译的 x64 c++ 例程。当我尝试从 testpage.ascx.cs 调用我的 c++ 例程时,我得到:
无法加载文件或程序集“arxTideEngine”或其依赖项之一。试图加载格式不正确的程序。
我已经使用依赖遍历器来确认为我的 webform 应用程序生成的 dll 仍然是 x86,即使 dll 中的其他所有内容都是 x64。
如何让 VS 2015 为我的 webforms 应用程序生成纯 x64 dll?
【问题讨论】:
-
是的,您需要将平台设置为 X64。看不到您做错了什么 - 您应该检查是否从配置中删除了 Any/x86...(而且,只要站点在 x64 应用程序池中运行,您就不需要这样做)
-
这不是我做错的太多,因为为了解决这个问题,我做了以下事情:
-
1) 设置一个全新的 windows 2012 框 2) 安装 IIS 8.5 3) 安装 Visual Studio 2015 4) 使用一个测试页创建一个新的 webform 应用程序 5) 按照 Microsoft 的建议将平台设置为 x64 .还有什么需要做的吗?
-
所以我创建了一个新应用程序,它现在可以编译为 x64。我的第一个应用程序可能有两件事是错误的:1)我是在安装 IIS 之前创建的,并且在 IIS express 下运行,或者 2)有一个关于在 azure 中运行应用程序的小复选框,我没有选中。 .