我正在使用Visual Studio Enterprise 2015并尝试创建图层图以生成和验证依赖项。但这失败了,因为VS在构建建模项目时会抛出警告:
CurrentVersion.targets(1819,5):警告MSB3268:主要参考 " ... \ ClassLibrary4 \ BIN \调试\ ClassLibrary4.dll"无法解决 因为它对框架程序集有间接依赖性 " System.Runtime,Version = 4.0.0.0,Culture = neutral, 公钥= b03f5f7f11d50a3a"这无法解决 目前的目标框架。 " .NETFramework,版本= 4.0版&#34 ;.解决 这个问题,要么删除引用 " ... \ ClassLibrary4 \ BIN \调试\ ClassLibrary4.dll"或重新定位你的 应用程序到包含" System.Runtime的框架版本, Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"。
我发现如果删除Unity,警告就会消失,依赖关系会按预期显示。
此行为的原因是什么,是否有解决方法?
我尝试了Unity预发行包以及另一个目标框架。完全没有效果。在添加建模项目并在一个引用项目中使用unity之后,可以使用新项目重现该问题。
答案 0 :(得分:5)
我在将构建输出设置为详细信息后找到了解决方案。 VS2015使用错误的目标框架(4.0)编译建模项目的问题:
任务参数:TargetFrameworkDirectories = C:\ Program Files (x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0
建模项目(* .modelproj)的项目文件中没有TargetFrameworkVersion。但是在将它添加到第一个属性组之后,它正在按预期编译和验证。没有任何警告。
解决方案:
(用目标框架替换v4.5)
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
使用架构工具获得快乐。