Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在安装了.NET 4.5的TFS上构建时,WPF.NET 4.0应用程序不会启动_C#_.net_Wpf_Tfs_Msbuild - Fatal编程技术网

C# 在安装了.NET 4.5的TFS上构建时,WPF.NET 4.0应用程序不会启动

C# 在安装了.NET 4.5的TFS上构建时,WPF.NET 4.0应用程序不会启动,c#,.net,wpf,tfs,msbuild,C#,.net,Wpf,Tfs,Msbuild,很长一段时间以来,我一直在使用VS 2012,目标是.net 4.0。该代码是在TFS 2010构建代理上构建的,并且在安装了.net 4.0的机器上运行良好。 好事情总是会结束,我被迫在TFS2010构建代理上安装.NET4.5。结果是,我的应用程序在构建后在运行时需要.NET4.5。 在Windows XP上,应用程序不会启动,也不会显示任何错误 为了调试这个,我启用了fuslog。我自己唯一能弄明白的两件事是通过比较以前的版本和错误的版本(无代码更改): 一, 调用不带.net 4.5的生

很长一段时间以来,我一直在使用VS 2012,目标是.net 4.0。该代码是在TFS 2010构建代理上构建的,并且在安装了.net 4.0的机器上运行良好。 好事情总是会结束,我被迫在TFS2010构建代理上安装.NET4.5。结果是,我的应用程序在构建后在运行时需要.NET4.5。 在Windows XP上,应用程序不会启动,也不会显示任何错误

为了调试这个,我启用了fuslog。我自己唯一能弄明白的两件事是通过比较以前的版本和错误的版本(无代码更改):

一,

调用不带.net 4.5的生成时

Calling assembly : System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
当调用.net 4.5的生成时

Calling assembly : PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
2错误的生成生成其他文件:

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Program Files\xyz\appName.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = AECA050416\fancyUser
LOG: DisplayName = appName.XmlSerializers, Version=2.2.407.51647, Culture=neutral, PublicKeyToken=306f64099261eabe, processorArchitecture=x86
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files/xyz/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = appName.exe
Calling assembly : System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files\xyz\appName.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: appName.XmlSerializers, Version=2.2.407.51647, Culture=neutral, PublicKeyToken=306f64099261eabe, processorArchitecture=x86
LOG: The same bind was seen before, and was failed with hr = 0x80070002.
ERR: Unrecoverable error occurred during pre-download check (hr = 0x80070002).
你能告诉我我的身材有什么问题吗?
我知道,如果我卸载.net 4.5,它将再次工作

我过去遇到过麻烦,*.XmlSerializers.dll没有按照这些思路重新构建/生成/部署。它是生成的程序集,并与应用程序的主程序集/DLL配对,以降低序列化性能成本

看看这是否可以作为一个简单的修复:

打开项目属性从解决方案资源管理器中选择项目 然后按Alt+Enter。 选择构建选项卡,向下滚动至 生成序列化程序集并将其更改为“关闭”。 重建项目。
这没有帮助,如果没有.net4.5,thx for hint和GenerateSerializationAssemblys,我仍然无法运行该应用程序。它是meDid的新版本。您在两台计算机上安装相同的.NET Framework版本4.5吗?如果没有,试试看;您仍然可以安装它,只是不在您的项目中使用它。问题是XP的问题。这里不支持.net 4.5
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Program Files\xyz\appName.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = AECA050416\fancyUser
LOG: DisplayName = appName.XmlSerializers, Version=2.2.407.51647, Culture=neutral, PublicKeyToken=306f64099261eabe, processorArchitecture=x86
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files/xyz/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = appName.exe
Calling assembly : System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files\xyz\appName.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: appName.XmlSerializers, Version=2.2.407.51647, Culture=neutral, PublicKeyToken=306f64099261eabe, processorArchitecture=x86
LOG: The same bind was seen before, and was failed with hr = 0x80070002.
ERR: Unrecoverable error occurred during pre-download check (hr = 0x80070002).