.net - 在 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 的一部分。
解决方案
推荐阅读
- javascript - React/redux-saga:如何定期从服务器更新其他用户所做的数据,同时对其进行更改?
- node.js - 向 node.js 发出动态命令行请求
- intellij-idea - IntelliJ IDEA:移动到“在路径中查找”中出现的对话框编辑器的快捷方式
- python - 为什么 Python 认为这是一个元组?
- java - 在 JFrame 中平滑移动 JLabel
- javascript - 在 switch case 中使用 !(not) 运算符
- tinkerpop - 在 Gremlinpython 中验证迭代边缘插入
- elasticsearch - Elasticsearch 中的公斤到克转换处理器
- tesseract - 图像数据无法转换为浮点数
- react-native - react-native-reanimated 调整大小按钮