Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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# 使用.NetZ和WPF会导致System.IO.IOException_C#_Wpf_Xaml - Fatal编程技术网

C# 使用.NetZ和WPF会导致System.IO.IOException

C# 使用.NetZ和WPF会导致System.IO.IOException,c#,wpf,xaml,C#,Wpf,Xaml,我的目标是能够通过命令行或Visual Studio的完整内置为C#应用程序和库使用任何打包程序(首选WPF) 我使用了accross.NetZ(),它非常整洁,工作也很好,直到我用WPF应用程序测试它: PackageExample.Program -> C:\Users\[username]\Documents\Visual Studio 2012\Projects\PackageExample\PackageExample.Program\bin\Debug\PackageExam

我的目标是能够通过命令行或Visual Studio的完整内置为C#应用程序和库使用任何打包程序(首选WPF)

我使用了accross.NetZ(),它非常整洁,工作也很好,直到我用WPF应用程序测试它:

PackageExample.Program -> C:\Users\[username]\Documents\Visual Studio 
2012\Projects\PackageExample\PackageExample.Program\bin\Debug\PackageExample.Program.exe
COMMAND: packcompress\netz-bin-40\netz.exe -o PackageExample.Program\bin\Debug\Packed -pl 
anycpu -s -z PackageExample.Program\bin\Debug\PackageExample.Program.exe 
"PackageExample.Program\bin\Debug\*.dll" -d:@ -v
 __________________________________________ 
|                                          |
| .NETZ - .NET Executables Compressor      |
| Copyright (C) 2004-2013 Vasian Cepa      |
| [v0.4.8]  http://madebits.com            |
|__________________________________________|

PE subsystem    : GUI
.NET Runtime    : 4.0.30319.18052
Output directory: C:\Users\[username]\Documents\Visual Studio 
2012\Projects\PackageExample\PackageExample.Program\bin\Debug\Packed
     RID: zip.dll
Added           : C:\Users\[username]\Documents\Visual Studio 
2012\Projects\PackageExample\packcompress\netz-bin-40\zip.dll [65536 byte(s) ~ 64KB]
Processing      : 3 file(s)

 1|  C:\Users\[username]\Documents\Visual Studio 
2012\Projects\PackageExample\PackageExample.Program\bin\Debug\PackageExample.Program.exe
     [255488 byte(s) ~ 249KB] -> [130850 byte(s) ~ 127KB] - 49%
     RID: A6C24BF5-3690-4982-887E-11E1B159B249
 2|  C:\Users\[username]\Documents\Visual Studio 
2012\Projects\PackageExample\PackageExample.Program\bin\Debug\PackageExample.Lib1.dll
     [4096 byte(s) ~ 4KB] -> [1577 byte(s) ~ 1KB] - 62%
     RID: PackageExample.Lib1!2!1Version=1.0.0.0!2!1!4=neutral!2!1PublicKeyToken=null
 3|  C:\Users\[username]\Documents\Visual Studio 
2012\Projects\PackageExample\PackageExample.Program\bin\Debug\PackageExample.Lib2.dll
     [4608 byte(s) ~ 4KB] -> [1617 byte(s) ~ 1KB] - 65%
     RID: PackageExample.Lib2!2!1Version=1.0.0.0!2!1!4=neutral!2!1PublicKeyToken=null

Done [00:00:00.300]
打包的应用程序抛出以下内容: (找不到ressource mainwindow.xaml。)

问题似乎是xaml.NetZ让人困惑,但我发现一些人在互联网上使用它,但我没有找到任何问题解决方案

在这件事上你能帮我吗


附加信息:我甚至在.NET 3.5 WPF应用程序的.NET 2.0.NetZ构建中尝试了这一点,这可能很有趣。

我在使用NetZ将WPF 4.0 exe和DLL压缩为单个exe时也遇到了问题。 My app.xml.cs将开始运行,但随后将引发NotImplementedException类型的未处理异常: Baml2006SchemaContext.ResolveBamlType

为了解决这个问题,我运行fuslogvw.exe查看程序集绑定错误,并发现GalaSoft.MvvmLight.Wpf4.dll无法从Netz打包的程序集加载。 然后我切换到从源代码编译的NetZ.exe并重试。 经过反复实验,我发现如果我重新编译并NetZ打包应用程序,它有时会开始工作。重新编译主应用程序,NetZ将生成一个失败的应用程序。 换句话说,有些东西是断断续续的。
很抱歉,这不是一个好消息-请尝试其他打包方案,或者在许多版本上反复尝试NetZ,直到找到一个可用的方案。

谢谢您的回答,但我最终决定不使用任何版本后解决方案。它不会打包我的文件,只是合并.NET组件,它也可以与WPF一起工作。这篇文章很长。如果您仍在搜索解决方案,请选中此项: