我有一个WPF项目,我试图发布没有任何形式的安装程序.基本上我希望程序编译在一个目录中,旁边有所有必要的文件,这样我就可以压缩所有内容并在客户端部署程序.
理想情况下,我希望在EXE中编译所有外部资源.
有没有办法做到这一点?如果我进入debug/bin文件夹,在我的工作站上,我可以执行EXE,但是如果我将它与DLL一起压缩并尝试在另一台机器上执行它崩溃,可能错过了一个文件是我的猜测.(如果我使用安装程序发布它可以工作,但这不适合这个项目).
谢谢Steve
编辑:当我执行程序(我在成功构建后从Bin目录复制)时,没有任何反应,只是"程序已停止工作"的消息.我的程序使用3个外部文件,一个图标,一个图像和一个字体.我引用了一个DLL(WPFtoolkit),我将该DLL添加到我的解决方案资源管理器中的目录中.所有文件都设置为嵌入式资源,并且"不要复制".我还将此代码添加到我的程序中,仍然是同样的错误.http://codeblog.larsholm.net/2011/06/embed-dlls-easily-in-a-net-assembly/我的EXE的大小是正确的,我可以看到DLL已被"添加"到它.该程序仍然只适用于我的工作站:(
编辑:
我应该将DLL保留在引用中吗?我的猜测是否定的,但如果我这样做,当我打电话给我时会收到错误:
using Microsoft.Windows.Controls;
Run Code Online (Sandbox Code Playgroud)
如果我不打电话,程序编译但崩溃.请参阅以下错误消息:
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
Run Code Online (Sandbox Code Playgroud) 我有一个需要将数据点记录到.CSV文件中的Winforms程序.它相当简单,日期/时间和双倍(数据),然后转到下一行.
这是我到目前为止(不工作,我得到一个错误,说文件正忙/已经打开 - 但是,它是空的)
if (!Directory.Exists(SavePath.Text + "\\LOG"))
Directory.CreateDirectory(SavePath.Text + "\\LOG");
string LogFileName = SavePath.Text + "\\LOG\\Seeing-Log-" + TimeNow.ToString("yyyy-MM-dd") + ".csv";
if (!File.Exists(LogFileName))
File.Create(LogFileName);
string LogString = TimeNow.ToString("yyyy-MM-dd-_HH-mm-ss") + "," + FWHM_Value.ToString("F:");
File.AppendAllText(LogFileName, LogString + Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)
这是生成错误的最后一行.
知道我做错了什么吗?
谢谢Steve