我有一个.net表单应用程序,我目前正在编写,其中有许多我的程序使用的资源。一些图像,字体文件,脚本(我的程序调用八度脚本)等。
现在我有不同的文件夹,我在程序的启动目录中手动创建,并通过Application.StartupPath访问它们。然而,这导致我必须为调试版本和发布版本版本维护一组单独的文件,这些文件在过去已经引起了一些令人讨厌的错误。我在几个月之前编辑了一些八度脚本,并忘了将它们复制到发行脚本文件夹中。有没有更好的方法来引用资源?
答案 0 :(得分:2)
您应该能够将资源存储在程序本身内 访问项目的参考资料部分[Project menu => “PROJECT NAME”属性... =>资源(左侧)],并在那里添加文件 您也可以通过双击来编辑资源。
在您的代码中,您应该在My namespace(My.Resources。“RESOURCE NAME”)下提供这些资源。
资源的类型(代码中)取决于您将其添加为哪种资源(请参阅左上角的下拉列表):
答案 1 :(得分:1)
听起来你正在构建一个Windows应用程序,因为你没有提到使它听起来像一个Web应用程序的任何东西。我认为您应该能够将资源放入资源目录,该目录将构建时将资源链接到您的应用程序(您不必将资源文件标记为复制到输出目录)作为.resx的一部分文件。您可以通过打开项目属性来管理资源。对于具有图像属性的控件,您可以直接从.resx文件引用图像,如果需要将自定义资源加载到表单中,请尝试
this.GetType().Assembly.GetManifestResourceStream("yourresourcename.ext");
您可能必须使用路径装饰资源名称,一种简单的方法可以解决此问题
string[] resourcenames = this.GetType().Assembly.GetManifestResourceNames();
您可以获得更多的爱好者并创建多个.resx文件,通常用于国际化。