在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) 
+1

是以下字符串 “LICENSEFILE” 应该是在里面的空间? –

+0

它只是一个例子字符串。如上所述,它可以在本地Windows 7和服务器2008上运行。我想用相同的DLL将服务部署到服务器2012。 – djmj

+2

究竟是一个'IOFileException'?你可以提供,我不知道,一个完整的堆栈跟踪,以帮助我们帮助你? –

用于.NET 4.0 LEADTOOLS的二进制文件要求重新分配的Microsoft Visual C++ 2010运行库文件。

Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)

Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)

+0

这是正确的。 LEADTOOLS v19帮助主题“您的应用程序中包含的文件”指出:“.NET 2.0-3.5的LEADTOOLS二进制文件需要重新分发Microsoft Visual C++ 2008运行时文件。”和“用于.NET 4.0的LEADTOOLS二进制文件需要重新分发Microsoft Visual C++ 2010运行时文件”。 –