在windows 2012中找不到的资源文件在windows 2012上找不到
问题描述:
我有一个类库dll
,其文件嵌入为Resources.resx
中引用的资源。在windows 2012中找不到的资源文件在windows 2012上找不到
internal class Resources {
internal static byte[] LicenseFile {
get {
object obj = ResourceManager.GetObject("LicenseFile", resourceCulture);
return ((byte[])(obj));
}
}
}
该库被多个应用程序(如Windows服务)引用。
这工作没有任何问题上的本地Windows 7计算机或更旧的Windows Server 2008
但服务没有在Windows Server 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运行库文件。
+0
这是正确的。 LEADTOOLS v19帮助主题“您的应用程序中包含的文件”指出:“.NET 2.0-3.5的LEADTOOLS二进制文件需要重新分发Microsoft Visual C++ 2008运行时文件。”和“用于.NET 4.0的LEADTOOLS二进制文件需要重新分发Microsoft Visual C++ 2010运行时文件”。 –
是以下字符串 “LICENSEFILE” 应该是在里面的空间? –
它只是一个例子字符串。如上所述,它可以在本地Windows 7和服务器2008上运行。我想用相同的DLL将服务部署到服务器2012。 – djmj
究竟是一个'IOFileException'?你可以提供,我不知道,一个完整的堆栈跟踪,以帮助我们帮助你? –