首页 > 解决方案 > 在 msbuild 中设置 TargetFrameworkVersion 属性会导致错误“此程序集由比当前加载的更新的运行时构建。”

问题描述

我正在尝试通过 msbuild 构建一个当前针对 v3.5 的 vb 表单项目,并且构建的 exe 工作正常。如果我只是将项目属性中的 TargetFramework 选项从 Visual Studio 更改为 v4.0,它仍然可以正常工作,并且构建的 exe 实际上是针对 4.0。我注意到这只在项目文件中发生<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>了变化。<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

现在,如果我恢复 VS 中的更改并手动编辑项目文件并尝试在 VS 中调试,它会在 VS 输出窗口中给出以下错误。如果我只是/p:TargetFrameworkVersion=v4.0在 msbuild 命令行中设置,我会看到相同的行为

此程序集由比当前加载的运行时更新的运行时构建,无法加载。

当我在 VS 项目属性界面中更改项目时,除了更改项目中的 TargetFrameworkVersion 之外,VS 在幕后神奇地做了什么?

我需要将这两个版本都构建为 msbuild 的一部分。

标签: .netvisual-studiomsbuild

解决方案


推荐阅读