3

所以我有一个包含 120 个项目的大型 c# 解决方案。该解决方案不包含用户界面,并且经过编译以支持紧凑框架和完整框架。该解决方案采用 Visual Studio 2005 格式。

我想删除对 Windows CE 的支持并将其全部转换为针对完整框架并在 Visual Studio 2010 中打开它。

我想要做的是从整个解决方案中删除对紧凑框架的支持。

我应该如何进行?是否可以将项目转换为完整的框架?

谢谢你。

4

3 回答 3

6

我创建了一个包含 WinForms 项目和 Device WinForms 项目的虚拟解决方案。然后我比较了两个。对我有用,因为我希望在某个时候移植到 Windows 10,现在他们已经让它在 ARM 设备上运行:D

1) 删除“ProjectTypeGuids”、“PlatformFamilyName”、“PlatformID”、“OSVersion”、“DeployDirSuffix”、“NativePlatformName”、“NoStdLib”、“NoConfig”元素。

2) 删除对“$(PlatformFamilyName)”的引用。

3) 删除任何“RequiredTargetFramework”元素。

4)如果存在,则包含以下内容的行:-

..导入项目="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets"..

需要成为...

..导入项目="$(MSBuildToolsPath)\Microsoft.CSharp.targets"..

如果它不存在,则需要添加它。

5) 删除整个“ProjectExtensions”元素。

等中提琴..它转换...现在只要它会构建:/

编辑:

稍作调整,它就可以构建并运行良好。经过一个多小时的工作,我的 CF WinForms 仓储应用程序正在 Windows 10 上运行。

于 2016-12-13T13:07:04.310 回答
2

用WS2010打开解决方案,点击各个项目文件->属性->应用选项卡,然后就可以选择目标框架了。应该管用。

于 2012-11-08T13:29:35.127 回答
1

所以最后我不得不手动编辑解决方案中的每个 csproj 文件。我删除了与针对紧凑框架相关的信息,并将其替换为针对完整框架所需的信息。

这不是很有趣,但现在它可以工作了。

谢谢

于 2012-11-09T15:33:52.560 回答