应用程序打包后,Resources目录中的图像会发生什么?这些图像对应用程序的安全性如何?

时间:2014-03-12 05:15:51

标签: c# winforms windows-applications

Resources文件夹通常包含我们用来查看我们的应用程序的所有应用程序映像(16 X16)。因此,我之前没有处理过安装和资源文件夹:

  1. 当需要部署应用程序时,该Resource文件夹中的那些图像会发生什么?
  2. 我之前没有尝试过这个,所以当我安装应用程序时会保存资源文件夹吗?
  3. 如果安装创建另一个资源文件夹来保留这些图像,那么如果用户手动删除该文件夹该怎么办?应用会崩溃?解决这个问题的解决方案是什么?
  4. 我听说过将图像放在.dll文件中,这是一种常见做法吗?
  5. 感谢

1 个答案:

答案 0 :(得分:1)

构建应用程序时,Visual Studio会调用resgen.exe工具将应用程序资源转换为名为Resources的内部类。此类包含在Resources.Designer.cs文件中,该文件嵌套在解决方案资源管理器中的Resources.resx文件下。 Resources类将所有项目资源封装到静态readonly get属性中,作为在运行时提供强类型资源的方法。通过Visual C#IDE构建时,所有封装的资源数据(包括嵌入到.resx文件中的资源和链接文件)都直接编译到应用程序程序集(.exe或.dll文件)中)即可。换句话说,Visual C#IDE始终使用/ resource编译器选项。如果从命令行构建,则可以指定/ linkresource编译器选项,该选项将使您能够在主应用程序集中的单独文件中部署资源。这是一种高级方案,仅在某些罕见情况下才需要。与主应用程序集分开部署资源的更常见方案是使用下面讨论的附属程序集。

上面回答了您的所有疑问 即 当需要部署应用程序时,该Resource文件夹中的那些图像会发生什么? 我没有尝试过这个,所以当我安装应用程序将保存该资源文件夹? 如果安装创建另一个资源文件夹来保留这些图像,那么如果用户手动删除该文件夹该怎么办?应用会崩溃?解决这个问题的解决方案是什么? 我听说过将图像放在.dll文件中,这是一种常见做法吗?

了解更多信息 http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.80).aspx