0

我正在我的 64 位开发机器上的 VS 2010 中开发 ASP.NET MVC 4/Web Api 应用程序。我已经安装了 IIS,并且正在 IIS 下运行该项目。因为我需要与第三方组件交互,所以我必须将项目构建配置更改为 x86(我目前处于 Debug 构建中)。

在 IIS 中,我将应用程序配置为使用允许 32 位进程的应用程序池。但是,当我运行我的网站时,我注意到我所做的代码更改没有显示出来。事实证明,正在使用的程序集是在 \bin 文件夹中找到的程序集。更改配置后,编译器的汇编输出到 \bin\x86\debug 文件夹;它看起来不像 IIS 正在寻找那里。

我暂时将配置切换回“Any CPU”,右键单击项目节点,然后选择Clean选项。这删除了 ​​\bin 文件夹中的所有陈旧程序集。然后我切换回 x86 配置 - 重新构建项目以进行良好的衡量 - 并尝试再次运行该项目。现在它根本找不到任何程序集。我收到如下错误:

Could not load file or assembly 'System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies

System.Web.Providers - 以及所有其余的程序集 - 位于 \bin\x86\debug 中。

  • IIS 应该知道在那里看吗?
  • Visual Studio 是否应该将程序集向上复制两个级别到 \bin 文件夹?

如果是后者,那显然不会发生。感谢您的任何见解。

4

1 回答 1

0

解决方案只是在项目属性的 Build 选项卡中将 Output Path 设置为 bin。:-)

于 2012-05-18T18:04:28.733 回答