17

我在使用 Visual Studio Express 2013 for Web 时遇到以下错误。它以前在 32 位上工作。我的笔记本电脑是 64 位 Windows。

ERR:无法完成程序集的设置(hr = 0x8007000b)。探测终止。

我已经选择了 64 位 cpu 并且没有任何乐趣来重建解决方案。

4

4 回答 4

47

如果您进入“工具”->“选项”>“Web 项目”并确保“使用 64 位版本的 IIS Express 用于网站和项目”。这解决了问题。

于 2015-10-10T09:11:12.947 回答
2

我的项目具体是 64 位的。

我必须通过添加 64 位版本来更改对 dll 的引用。在我的项目中创建一个名为“x64”的文件夹并添加 dll,其属性为:复制到输出目录:始终复制


我在 Oracle 自述文件中找到了解决方案:

使用以下步骤让您的应用程序使用 64 位版本的 ....dll:

  1. 右键单击 Visual Studio 项目。
  2. 选择添加 -> 新文件夹
  3. 将文件夹命名为 x64。
  4. 右键单击新创建的 x64 文件夹
  5. 选择添加 -> 现有项目
  6. 浏览到您的项目解决方案目录下的 ...\bin\x64。
  7. 选择 ....64bit.dll
  8. 单击“添加”按钮
  9. 左键单击 x64 文件夹中新添加的 ....dll
  10. 在属性窗口中,将“复制到输出目录”设置为“始终复制”。

对于 x86 目标应用程序,将文件夹命名为 x86 并从 ...\bin\x86 文件夹添加程序集。

于 2016-02-23T11:43:05.883 回答
2

我的项目/解决方案与此处的修复相反:我需要取消选中“将 IIS Express 的 64 位版本用于网站和项目”。我假设该项目是 32 位的,但对我来说唯一破坏的发布模式是“调试”。在没有调试的情况下在浏览器中查看它永远不会编译失败。

我搜索了许多问题的解决方案,所以我想我会在这里添加我的修复。它似乎确实适用于两种方式(如果已选中,请取消选中它!)

于 2018-06-06T22:33:22.053 回答
0

这是由于尝试运行 64 位进程或依赖于 32 位的 IIS Express 造成的。

如果您不想像@Shaun Roach 的回答中建议的那样更改所有项目,您可以编辑特定的启动项目属性并将 Web 选项卡中的 Bitness 更改为 64 位,这将添加<Use64BitIISExpress>false</Use64BitIISExpress>到您的 csproj(顺便说一下与默认值不同<Use64BitIISExpress />)。

于 2021-04-04T14:02:26.003 回答