【问题标题】:Embedding application resources嵌入应用程序资源
【发布时间】:2012-07-08 00:14:02
【问题描述】:

我有一个 C# 表单应用程序,

如果我想在嵌入资源文件的其他计算机上使用 bin 中的 (debug).exe 而不必制作安装程序,我该怎么做? (我如何嵌入资源文件)

另外我如何在.exe中添加嵌入资源文件的路径?

【问题讨论】:

  • 通常它只是 exe 和所有 dll 文件,但在给出更好的答案之前,您应该发布有关应用程序的更多信息,例如它使用了什么。 SQL 数据库 ? XML 文件?还有其他外部资源吗?
  • @Shenaniganz 它只是一个简单的 C# Forms 应用程序。我要嵌入的源是 .dll、.txt 等

标签: c# winforms installation embed move


【解决方案1】:

在解决方案资源管理器中选择文件,然后在属性窗口中,将构建操作更改为嵌入式资源。您可以使用如下代码更改代码以获取嵌入式资源:

     try
     {
         _assembly = Assembly.GetExecutingAssembly();
         _imageStream = _assembly.GetManifestResourceStream("MyNamespace.MyImage.bmp");
         _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNamespace.MyTextFile.txt"));
     }
     catch
     {
         MessageBox.Show("Error accessing resources!");
     }

此代码来自here

【讨论】:

  • 谢谢迈克尔这对如何嵌入文件进行排序......但是我可以使用这个[code] //Move test.txt if (File.Exists(@"C:\users\test.txt ")) { File.Delete(@"C:\users\test.txt"); } File.Move(WHATIS​​THERESOURCELOCATION, @"C:\users\test.txt");[/code] 那么我将如何使用上述内容并实现它呢?谢谢
  • 您不会使用 File.Move,因为没有文件。相反,您将读取如上所示的 Stream 并将其写入文件。
  • 所以我在“test”内添加了一个名为“test”的资源文件夹,这是一个名为 test2.exe 的应用程序我如何使用上述内容删除 c:\users\test.exe(如果存在)然后将 test2.exe 移动到 c:\users\ ?基本上我的程序删除旧文件,然后通过单击一个按钮替换新文件...
猜你喜欢
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 2010-12-28
  • 2011-01-29
  • 1970-01-01
相关资源
最近更新 更多