在Visual Studio 2012 C#控制台应用程序中,我将“.NET Framework目标”从4.5降级到4.0。 Win 7 Pro与两个框架安装。为什么VS2012项目引用程序集无法自动定位4.0
我再引用一个程序集,通过警告抱怨如下:从引用的程序集
The primary reference "System.Threading.Tasks.Dataflow, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" could not be resolved because it has an indirect dependency on the framework assembly "System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0". To resolve this problem, either remove the reference "System.Threading.Tasks.Dataflow, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" or retarget your application to a framework version which contains "System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
如果我试图在这一点上进行编译,我错误,监守类型和命名空间不可用,就好像程序集根本没有被引用。
“添加引用” 对话框没有任何 System.Runtime选择,但如果我手动博泽到 C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ 和引用的系统。在那里发现运行时组件,警告消失,我可以编译。
问题:
就是这样的System.Runtime版本迫使潜在问题的道路(部署)。
如果VS项目属性是seto目标框架4.0(不涉及定位4.0 SystemRuntime/CLR),为什么不是refferenced选择了这个,为什么手动添加引用到我的项目修复那个问题?
我试图理解这个的含义 - 它实际上是否表示无法准确定位.net运行时的4.0版本(如果在安装了4.5的系统上构建的)?这是否真的意味着编写代码 - 例如 - Windows 2008服务器的唯一方法是降级(可能从Win 8升级)我的开发机器到Windows 7和VS2010? – glenatron 2013-12-23 15:43:01