c# - 自 TFS .NET 4.5 升级以来,以 .NET 4.0 为目标会产生无效的 Win XP 应用程序

标签 c# .net-4.0 windows-xp .net-4.5 tfsbuild

我们有一个 TFS 构建服务器(我认为它在 TFS 术语中称为构建 Controller )。它构建并部署了多个解决方案。这些解决方案之一是针对 .NET 4 完整配置文件和 x86 的 Windows 窗体项目,过去在 Windows XP 上运行良好,现在无法运行并显示以下消息:

*.exe is not a valid win32 application on Windows XP

我们有一个 3 个月前的构建,运行良好,此后源代码中没有任何相关更改。但是现在从构建服务器请求新构建时,生成的 .exe(有很多 .dll 支持它)不能在 Windows XP 32 位上运行。相同的构建在 Windows 7 32 位和 Windows 7 64 位上运行良好。

我最好的猜测是过去三个月在构建服务器上安装的某些东西正在发挥作用。已经安装了很多东西,包括 .NET 4.5、Visual Studio 2012 等。不过,它不应该改变针对 4.0 的解决方案。

有什么想法吗?

最佳答案

.net 4.5 升级 .net 4.0,因此如果您在构建服务器上安装了 .net 4.5,并且您的目标是 .net 4.0,那么这与您在 XP 上安装的 .net 4.0 不同。您不能在 XP 上安装 .net 4.5。 This Blog进入更多细节。

基本上,如果你想支持 XP,你不能使用 .net 4.5/Visual Studio 2012。(或将它们安装在你的构建机器上)

关于c# - 自 TFS .NET 4.5 升级以来,以 .NET 4.0 为目标会产生无效的 Win XP 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355363/

相关文章:

c# - 无法解析目标框架 '.NETFramework,Version=v4.6.1' 的 mscorlib

wpf - 在 Vista/Windows 7 WPF FileDialog.Filter 中隐藏扩展

c# - 使用 C# 在本地注销 Windows 用户

c# - 调用从 C# 返回类型的 Oracle 函数

c# - Microsoft.Web.管理: System. UnauthorizedAccessException

c# - 使变量只能通过其 set 属性设置

c# - 如何在 List<string> 中获取不区分大小写的匹配项?

asp.net - 如何删除www. ASP.NET MVC 中的前缀

windows - 此应用程序启动失败,因为应用程序配置不正确

browser - Leksah 系统范围模块浏览器为空