在 windows 2012 找不到 resx 中引用的资源文件
Resource file referenced in resx not found on windows 2012
我有一个 class 库 dll
,其中嵌入了一个文件作为 Resources.resx
中引用的资源。
internal class Resources {
internal static byte[] LicenseFile {
get {
object obj = ResourceManager.GetObject("LicenseFile", resourceCulture);
return ((byte[])(obj));
}
}
}
此库被多个应用程序引用,例如 windows 服务。
这在本地 windows 7 机器或更旧的 windows 服务器 2008 上没有问题。
但是该服务不会在 windows 服务器 2012 中启动,因为它没有找到该文件。
System.IO.FileNotFoundException
如系统事件日志所示抛出。
更新
我打印了堆栈跟踪,似乎找不到所需的 dll。它根本不是资源文件。
无法加载文件或程序集 'LeadTools.dll' 或其依赖项之一。找不到模块。
Dateiname: 'Leadtools.dll'
at MyClassLibrary.Utils.InitLeadTools()
at MyService.Logic.Program.Main(String[] args)
.NET 4.0 的 LEADTOOLS 二进制文件需要重新分发 Microsoft Visual C++ 2010 运行时文件。
我有一个 class 库 dll
,其中嵌入了一个文件作为 Resources.resx
中引用的资源。
internal class Resources {
internal static byte[] LicenseFile {
get {
object obj = ResourceManager.GetObject("LicenseFile", resourceCulture);
return ((byte[])(obj));
}
}
}
此库被多个应用程序引用,例如 windows 服务。
这在本地 windows 7 机器或更旧的 windows 服务器 2008 上没有问题。
但是该服务不会在 windows 服务器 2012 中启动,因为它没有找到该文件。
System.IO.FileNotFoundException
如系统事件日志所示抛出。
更新
我打印了堆栈跟踪,似乎找不到所需的 dll。它根本不是资源文件。
无法加载文件或程序集 'LeadTools.dll' 或其依赖项之一。找不到模块。
Dateiname: 'Leadtools.dll'
at MyClassLibrary.Utils.InitLeadTools()
at MyService.Logic.Program.Main(String[] args)
.NET 4.0 的 LEADTOOLS 二进制文件需要重新分发 Microsoft Visual C++ 2010 运行时文件。