我正在尝试将Windows服务(开发系统Windows 7,VS 2012,.Net Framework 4.5,C#)部署到Windows Server 2012 R2计算机。
我收到以下异常
"The type initializer for 'Bloomberg.MainProcessor' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'dcasdk.dll' or one of its dependencies. The specified module could not be found. "
我认为是由于在下面的路径中找不到引用(System.Data,System.XML等..)(这是应用程序引用开发机器中的dll的地方)
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
尝试在部署计算机上安装4.5时,我收到更高版本已存在消息。
我根据一些谷歌讨论检查了REGISTRY(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
),发现它已经安装了4.6.1框架(Dword 394271
)作为操作系统的一部分。
我还尝试从下面的链接安装 windows server 2012 essentials SDK安装程序,该dint在路径中创建任何文件" C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
"
https://www.microsoft.com/en-in/download/confirmation.aspx?id=34860&cffa64c5-a636-96fc-e97a-0e907fcc4c04=True
我现在有几个未解决的问题:
我的4.5应用程序需要安装什么才能运行?换句话说,需要安装什么来获取文件:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
为什么应用程序不会引用GAC所需的程序集。我可以在C:\Windows\Microsoft.NET\Framework64\v4.0.30319
还有一点需要注意:在本地部署的相同服务工作正常。
我非常感谢有关此方面的任何帮助。
更新: 我尝试使用依赖walker来检查应用程序的依赖关系(Windows服务exe)。以下是结果。我也遇到了与dcasdk.dll类似的错误。我是这个工具的新手。试图理解这个错误意味着什么。有关此错误的任何帮助\信息将节省我的一天。
我仍然想知道它在开发机器中是如何工作的。
感谢。