【问题标题】:Compile pure x64 dll for C# Webform with Visual Studio 2015使用 Visual Studio 2015 为 C# Webform 编译纯 x64 dll
【发布时间】: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 中运行应用程序的小复选框,我没有选中。 .

标签: c# c++ .net 64-bit


【解决方案1】:

此问题似乎与 Web 应用在 IIS Express 下运行这一事实有关。创建在 IIS 下运行的新 Web 应用程序后,x64 编译按预期措辞。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 2015-09-29
    相关资源
    最近更新 更多