【问题标题】:How to force Visual Studio to use x64 DNX SDK architecture如何强制 Visual Studio 使用 x64 DNX SDK 架构
【发布时间】:2015-10-07 09:25:34
【问题描述】:

我使用的是 1.0.0-beta7 x64,但视觉工作室坚持我使用的是 x86。当我删除除目标之外的所有运行时时,我得到以下信息:

我在项目中的任何地方都找不到对 x86 的引用。

当我将鼠标悬停在此处的解决方案 DNX SDK 版本上时,它会显示 x86 版本,但我不知道它是从哪里获得的。目前这不会引起任何问题,我只是想了解发生了什么。

【问题讨论】:

  • 在 wwwroot 文件夹中查找 web.config 文件,它有用于引导运行时的 appsettings
  • @JoeAudette 没有 web.config。我以为那已成为过去。搜索 wwwroot 和子文件夹以防万一,但没有 web.config。
  • 如果您在 vs2015 中使用 beta 7 工具创建新的 Web 应用程序,它将在构建或发布时添加 web.config。并且还会有一个 wwwroot/bin 文件夹,其中包含一个用于引导运行时的 dll。然而,在 beta8 中,新的托管模型将不再存在这种情况。我之所以发表评论,是因为有一次我也遇到过一种情况,即它没有使用预期的运行时,它是由 web.config 引起的。也许你的情况不同。
  • 我明白了。看起来我遇到了不同的问题。很可能会在测试期间解决)。
  • 执行dnvm list 并检查您的默认运行时是什么。可能是别名为default 的运行时不存在。关闭 vs 并将 x64 运行时别名为默认值(即dnvm alias default 1.0.0-beta8 -arch x64 -r clr)打开 VS 并查看它是否有效。

标签: c# asp.net asp.net-core dnx


【解决方案1】:

右键单击您的 web(不是解决方案)项目并选择属性。单击“使用特定运行时”并从下拉列表中选择所需的 dnx 运行时。所有这些都是在项目的 /Properties/launchSettings.json 中设置“sdkVersion”。

global.json 中的"sdk" 表示项目将运行但不会针对它运行项目的最低 sdk 版本。它将采用您在 launchSettings.json 中的设置。

【讨论】:

  • 您好,感谢您的回答,但我也尝试过,没有任何区别。我仍然收到错误消息。
  • 你的launchSettings.json是什么样的?
  • { "profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNET_ENV": "Development" }, "sdkVersion ": "dnx-clr-win-x64.1.0.0-beta7" } } }
  • 我不认为你可以强制 Visual Studio 使用 x64,因为它在内部使用它来使工具工作。由于 Visual Studio 运行 32 位,因此无法加载任何 x64 引用。但是,您可以在发布时使用上述方法将架构强制为 x64。
  • 这似乎在 1.0.0 版本中消失了...请问有什么想法吗?
【解决方案2】:

您运行的是 32 位 Windows 吗?

如果没有,我建议您清理运行时。

C:\Users\USERNAME\.dnx\runtimes

然后重新安装dnvm upgradednvm install <version>。在您使用它的同时,您也可以更新您的 dnvm 以及 dnvm update-self

然后将 Web 项目属性和 global.json 的运行时设置为 x64。 如果您使用 IIS Express 进行调试,请设置为使用 64 位版本的 IIS Express。

我希望这会有所帮助!

【讨论】:

  • 感谢您的回答。我正在运行 64 位 Windows,并尝试了上述所有方法,但没有运气。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多