主要参考“Microsoft.CSharp”是一个框架程序集,在当前的目标框架中无法解决

我开始了一个新的winforms项目,相当简单,有几个标签,文本框和一个button。 所有的代码运行良好。 我忘记将框架版本从4(使用VS 2010)更改为3.5,然后再创build应用程序,并将其更改为3.5或3.5客户端configuration文件时,出现以下警告:

主要参考“Microsoft.CSharp”是一个框架程序集,在当前的目标框架中无法解决。 ” .NETFramework,版本= V3.5" 。 要解决此问题,请删除引用“Microsoft.CSharp”或将应用程序redirect到包含“Microsoft.CSharp”的框架版本。

从一开始就用3.5的设置来重新创build这个并不是一个很大的麻烦,我相当确定我没有使用我需要的4框架中的任何东西。

在VS 2010 for .NET 4的大部分/全部项目模板中,添加了Microsoft.CSharp程序集引用。 所以当你创build项目时,你会自动获得这个程序集的引用。 你应该没有任何问题只是删除参考。

我只是想增加我的经验。 在我的情况下,删除Microsoft.CSharp引用就足够了,只是采取警告和编译解决scheme,但是在使用控制台时,我仍然有一些错误仍然指的是缺less的框架引用。 然后我创build了一个空的新的控制台项目; 默认情况下设置了“.NET FrameWork 4 Client Profile”,所以我立即用“.NET Framework 3.5 Client Profile”选项replace并保存。 然后,我复制并粘贴原始项目中的所有代码,并添加项目中使用的所有引用。 然后,我重命名解决scheme,命名空间,程序集名称等,就像我原来的项目,并编译它。 没有警告/错误,一切都OK。

然后,我试图使用控制台应用程序(在一个只有.NET 3.5的环境下), 一切工作完美无缺 ^ _ ^(相反,只是将项目属性中的.NET引用从4改为3.5,我得到了我所说的错误以上)。

希望这可以帮助那些有问题的人,而只是改变“有针对性的框架”,并删除现有项目中的Microsoft.CSharp引用。