C# 程序集是由比当前加载的运行时更新的运行时生成的,无法加载,但我的所有项目都以.net 4.0为目标

C# 程序集是由比当前加载的运行时更新的运行时生成的,无法加载,但我的所有项目都以.net 4.0为目标,c#,asp.net,.net,C#,Asp.net,.net,我正在尝试修复间歇性异常: System.BadImageFormatException表示“无法加载文件或程序集” “dbpProject”或其依赖项之一。此程序集由 运行时比当前加载的运行时更新,无法加载。“ 显然,dbpProject引用了我的数据库项目 考虑到可能是我的解决方案中的一个项目造成的,我去把它们全部改成target.net4。但是,我仍然得到了BadImageFormatException,这次是指我的一个项目 另外一个奇怪之处是:如果部署到web服务器,应用程序就会运行 可

我正在尝试修复间歇性异常:

System.BadImageFormatException表示“无法加载文件或程序集” “dbpProject”或其依赖项之一。此程序集由 运行时比当前加载的运行时更新,无法加载。“

显然,
dbpProject
引用了我的数据库项目

考虑到可能是我的解决方案中的一个项目造成的,我去把它们全部改成target
.net4
。但是,我仍然得到了
BadImageFormatException
,这次是指我的一个项目

另外一个奇怪之处是:如果部署到web服务器,应用程序就会运行

可能相关——我的错误消息底部显示:

版本信息:Microsoft.NET Framework版本:2.0.50727.8689; ASP.NET版本:2.0.50727.8670


有什么方法可以修复IIS Express以运行正确的.NET版本吗?

为什么不以4.5.x为目标?看看这篇文章上的公认答案:@DavidTansey,据我所知,我的应用程序默认应运行.NET 4.0。有什么方法可以为我的项目设置不同的设置吗?我应该吗?在调试中启动站点时,应该有一个用于ASP.NET开发服务器(IIS Express)的对话框。该对话框中的最后一个文本框显示
ASP.NET版本
。为您显示的值是什么?使用Jexus Manager检查此网站使用的应用程序池,然后将其更改为.NET 4池。为什么不把目标定为4.5.x呢?看看这篇文章中公认的答案:@DavidTansey就我所知,我的应用程序默认应该运行.NET4.0。有什么方法可以为我的项目设置不同的设置吗?我应该吗?在调试中启动站点时,应该有一个用于ASP.NET开发服务器(IIS Express)的对话框。该对话框中的最后一个文本框显示
ASP.NET版本
。为您显示的值是什么?使用Jexus Manager检查此网站使用的应用程序池,然后将其更改为.NET 4池。