我已经创建了一个带有资源(.resx)文件的Windows服务应用程序。现在我的问题是我使用安装项目安装我的服务。它似乎无法找到我的.resx文件。我需要做什么才能将我的资源文件嵌入到我的程序中?
更新
修正了它。 @UnhandledException是正确的。这是解决问题的一种方法,但由于某种原因,它不适合我。我修复它的方法是在Visual Studio上显示我项目中的所有文件。我浏览bin\debug
。我发现资源文件实际上有“.resources”扩展名。我将其复制到c:\Program Files\my app\
,瞧,它有效。这可能不是正确的方法,但这次我需要它。
谢谢,
答案 0 :(得分:2)
在资源属性(.resx)文件和资源中的每个文件中将构建操作更改为嵌入式资源。
答案 1 :(得分:0)
如果您正在运行Windows服务应用程序并需要访问资源,请将该资源标记为构建操作:嵌入式资源,并使用以下代码获取资源文件的绝对路径:
/// <summary>
/// This method seems a bit complicated for fetching a file's path,
/// but it's flexible enough to fetch a path for both console
/// applications and service applications.
/// </summary>
/// <param name="relativePath">Relative path to a resource.</param>
/// <returns>Absolute path.</returns>
private string GetAppAbsolutePath(string relativePath)
{
return Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), relativePath);
}
希望这会有所帮助。