我开始了一个新的winforms项目,相当简单,有一些标签,文本框和一个按钮。所有代码运行正常。我忘记在创建应用程序之前将框架版本从4(使用VS 2010)更改为3.5,当我将其更改为3.5或3.5客户端配置文件时,我收到以下警告:
主要参考“Microsoft.CSharp”是一个框架程序集,无法在当前目标框架中解析。 ” .NETFramework,版本= V3.5" 。要解决此问题,请删除引用“Microsoft.CSharp”或将应用程序重新定位到包含“Microsoft.CSharp”的框架版本。
从一开始就使用3.5设置重新创建这个并不是一个很大的麻烦,我很确定我没有使用我需要的4框架中的任何东西。
答案 0 :(得分:73)
在VS 2010 for .NET 4的大多数/所有项目模板中,添加了Microsoft.CSharp
程序集引用。因此,在创建项目时,您会自动获得此程序集引用。删除引用时不应该有任何问题。
答案 1 :(得分:2)
我也想加入我的经验。在我的情况下,删除Microsoft.CSharp引用就足以取消警告并编译解决方案,但是在使用控制台时我得到了一些错误仍然指向缺少的框架引用。 然后我创建了一个空的新控制台项目;默认情况下,设置了“.NET FrameWork 4 Client Profile”,因此我立即将其替换为“.NET Framework 3.5 Client Profile”选项并保存。然后我复制并粘贴原始项目中的所有代码,并添加我在项目中使用的所有引用。然后我重命名了解决方案,命名空间,程序集名称等,就像我的原始项目一样,并对其进行了编译。没有警告/错误,一切都很好。
然后我尝试使用控制台应用程序(在只有.NET 3.5的环境中)和一切都完美无缺 ^ _ ^(相反,只需将.NET引用从4更改为3.5)项目礼仪,我得到了上面提到的错误。
希望这可以帮助那些在改变“目标框架”并删除现有项目中的Microsoft.CSharp引用时遇到问题的人。