更改为x64平台时无法加载程序集错误

时间:2011-06-22 09:19:36

标签: c# asp.net debugging dll configuration

我刚刚创建了一个新的asp.net 3.5 Web应用程序。我转到应用程序属性并将平台目标更改为x64。我没有写任何代码,我没有改变任何东西。接下来,我在Visual Studio中启动调试。发生以下错误:

  

无法加载文件或程序集   “SOLUTION NAME”,版本= 1.0.0.0,   Culture = neutral,PublicKeyToken = null'   或其中一个依赖项。一次尝试   是用来加载程序的   格式不正确。

任何人都知道如何解决这个问题? 谢谢。

修改
我有这些警告:

  

警告1装配生成 -   参考装配   'System.EnterpriseServices.dll'   针对不同的处理器   警告2装配生成 -   引用程序集'mscorlib.dll'   针对不同的处理器   警告3装配生成 -   引用程序集'System.Web.dll'   针对不同的处理器   警告4装配生成 -   引用程序集'System.Data.dll'   针对不同的处理器

配置管理器:

enter image description here

6 个答案:

答案 0 :(得分:5)

如果您只使用F5或“开始”按钮启动应用程序,并在IIS上进行调试,则可能是:

调试 - >选项 - >项目和解决方案 - >网络项目。并选择"将64位版本的IIS Express用于网站和项目"。

答案 1 :(得分:1)

我发现了这个问题。

似乎Visual Studio和Cassini作为32位应用程序运行。如果我尝试使用Microsoft的Cassini托管我的64位ASP.NET应用程序,我将得到一个例外。

所以我在IIS上部署了我的解决方案,将其更改为64位,调试它并且每件事情都完美无缺。

答案 2 :(得分:0)

它可能是一个被引用的32位dll。

如果要在IIS上进行调试,请打开应用程序池的高级设置,并确保已启用“启用32位应用程序”。这已经多次对这个问题进行了分类。

答案 3 :(得分:0)

除了@ winSharp93所说的,请查看应用程序池高级设置并确保“启用32位应用程序”设置为 false < /强>

答案 4 :(得分:0)

确保您编译的所有dll都用于“任何cpu”或编译为“x64”。您可以在每个项目的项目设置窗口中找到它。

答案 5 :(得分:0)

请检查解决方案中的引用。可能是指向旧的dll。