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
Wpf Visual Studio 2013不带安装程序的发布_Wpf_Visual Studio 2013 - Fatal编程技术网

Wpf Visual Studio 2013不带安装程序的发布

Wpf Visual Studio 2013不带安装程序的发布,wpf,visual-studio-2013,Wpf,Visual Studio 2013,我有一个WPF项目,我正试图发布没有任何形式的安装程序。 基本上,我希望程序在一个目录中编译,旁边有所有必要的文件,这样我就可以压缩所有内容并将程序部署到客户端 理想情况下,我希望在EXE中编译所有外部资源 有办法吗?如果我进入工作站上的debug/bin文件夹,我可以执行EXE,但如果我将其与DLL一起压缩,并尝试在另一台机器上执行该操作,则可能会崩溃,我猜可能会丢失一个文件。(如果我发布的安装程序,它虽然工作,但这是不适合这个项目) 谢谢 史蒂夫 编辑: 当我执行程序时(在成功构建后,我从B

我有一个WPF项目,我正试图发布没有任何形式的安装程序。 基本上,我希望程序在一个目录中编译,旁边有所有必要的文件,这样我就可以压缩所有内容并将程序部署到客户端

理想情况下,我希望在EXE中编译所有外部资源

有办法吗?如果我进入工作站上的debug/bin文件夹,我可以执行EXE,但如果我将其与DLL一起压缩,并尝试在另一台机器上执行该操作,则可能会崩溃,我猜可能会丢失一个文件。(如果我发布的安装程序,它虽然工作,但这是不适合这个项目)

谢谢 史蒂夫

编辑: 当我执行程序时(在成功构建后,我从Bin目录复制了该程序),什么都没有发生,只显示消息“程序已停止工作”。我的程序使用3个外部文件,一个图标,一个图像和一个字体。我引用了一个DLL(WPFtoolkit),我将该DLL添加到解决方案资源管理器中的一个目录中。所有文件都设置为嵌入式资源,并且“不复制”。我还将此代码添加到我的程序中,仍然是相同的错误。我的EXE的大小是正确的,我可以看到DLL已经“添加”到它。但该程序仅在我的工作站上运行:(

编辑:

我应该将DLL保留在引用中吗?我猜是不是,但是如果我这样做,当我调用

using Microsoft.Windows.Controls;
如果我不调用它,程序将编译但崩溃。请参阅下面的错误消息:

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: sw imperium.exe
  Problem Signature 02: 1.0.0.0
  Problem Signature 03: 53bdd468
  Problem Signature 04: PresentationFramework
  Problem Signature 05: 4.0.30319.18408
  Problem Signature 06: 52312f13
  Problem Signature 07: a19
  Problem Signature 08: 46
  Problem Signature 09: System.Windows.Markup.XamlParse
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    1033
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

工具包是否安装在GAC中的PC(visual studio所在的位置)上?未作为嵌入资源包含在中的所有文件都应为“复制本地”(在这种情况下,生成将这些文件复制到bin文件夹中)

要隔离问题并获得更好的错误消息,请将代码移动到非开发人员PC,并使fusion logger能够找到加载程序找不到的任何程序集

有关加载器(fusion)记录器的更多信息,请参阅此链接

考虑向应用程序启动添加一些额外的错误记录代码,请参阅
有一个很好的工具可以合并支持WPF的程序集:。 你也可以试试。
希望对您有所帮助。

您可能希望通读这篇文章以查看任何缺少的依赖项并分析应用程序


PS:如果没有帮助,请尝试在问题中添加更多信息,如示例代码和/或二进制文件

崩溃是什么意思?实际的错误消息可能有助于诊断。您是否尝试直接从zip运行可执行文件?目标计算机是否设置了正确的.Net framework?是的,客户端已安装.Net。当我执行我的程序使用了3个外部文件,一个图标、一个图像和一种字体。我引用了一个DLL(WPFtoolkit),我将该DLL添加到解决方案资源管理器中的一个目录中。所有文件都设置为嵌入式资源,并且“不复制”。我还将此代码添加到我的程序中,仍然是相同的错误。您是否有权访问安装了VS 2013且环境与客户端类似的另一台计算机?我将尝试使用此代码在另一台计算机上复制代码,然后在您尝试从实际计算机执行应用程序生成时附加调试器。当断开它会将您指向实际断开的行。您可以共享您的代码(或显示您的问题的示例代码)吗使用相应的x86二进制文件?您还提到了Debug\bin文件夹。您是否尝试使用发布版本。由于调试运行时DLL不可用,有时会在目标上出现崩溃?可能会为您提供一些类似问题的信息。是的,工具包安装在开发人员计算机上。如我所说,如果我发布roject创建了一个安装程序,我可以毫无问题地部署它。它安装得很好,程序运行得也很好。如果安装程序工作正常,请使用以下命令从安装程序中提取文件,以查看缺少的文件。在任何情况下,您都应该使用安装程序。msiexec/a PathToMSIFile/qb TARGETDIR=Directo莱托榨汁机