在编译一个从 VS2003 中的 .NET 1.1 移植到 VS2008 中的 .NET 3.5 的解决方案时,我得到了一些建议,其中以下一条具有代表性:
考虑将程序集“System.Windows.Forms、Culture=neutral、PublicKeyToken=969db8053d3322ac、Retargetable=Yes”从版本“1.0.5000.0”[] 重新映射到版本“2.0.0.0”[C:\Program Files (x86) )\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\System.Windows.Forms.dll] 解决冲突并消除警告。
解决方案中的两个项目都没有 app.config 文件。然而,有无数的 *.resx 文件包含“Version=1.0.5000.0”
我应该进行全局搜索并将其替换为“Version=2.0.0.0”还是应该如何纠正这个问题?
UPDATE
我选择“项目>升级项目”,重建,现在消息包括:
C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets:警告 MSB3245:无法解析此引用。无法找到程序集“System.Windows.Forms.DataGrid”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,则可能会出现编译错误。
无法解决“System.Xml,Version=2.0.0.0,Culture=neutral,PublicKeyToken=969db8053d3322ac,Retargetable=Yes”和“System.Xml,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”之间的冲突。
任意选择“System.Xml,Version=2.0.0.0,Culture=neutral,PublicKeyToken=969db8053d3322ac,Retargetable=Yes”。
无法解决“System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=969db8053d3322ac,Retargetable=Yes”和“System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”之间的冲突。任意选择“System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=969db8053d3322ac,Retargetable=Yes”。
考虑将程序集“System.Windows.Forms、Culture=neutral、PublicKeyToken=969db8053d3322ac、Retargetable=Yes”从版本“1.0.5000.0”[] 重新映射到版本“3.5.0.0”[C:\Program Files (x86) )\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\System.Windows.Forms.dll] 解决冲突并消除警告。
UPDATE 2
我的代码中确实有这一行:
this.dtGridUPC = new System.Windows.Forms.DataGrid();
尽管编译器警告我这样:“无法找到程序集“System.Windows.Forms.DataGrid”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,则可能会出现编译错误。"
...我没有收到编译错误。
越来越好奇。