我正在尝试将.NET 4.0 .dll添加到GAC。我之所以尝试这样做,是因为它是由第三方公司出版的,作为32和64位.dll,我必须以两种格式的不同平台上的不同应用程序使用它。

无论如何,我在Windows Server 2008环境上将此DLL注册到GAC时遇到困难。

我尝试复制在“ C: Program Files(x86) Microsoft SDKS Windows Windows v7.0a bin bin netfx 4.0工具”上找到的gacutil.exe(和支持文件),我的本地计算机上的“ C: Windows”根据所找到的建议 这里.

然后,我尝试将它们复制到“ C: Windows Microsoft.net Framework64 V4.0.30319”。

从两个位置运行均表示成功安装。确实,注册似乎很成功:

  • C: Windows Microsoft.net Assembly GAC_64 CHILKATDOTNET4 V4.0_9.0.8.8.0__EB5FC1FC1FC52EF09BD CHILKATDOTNETNET4.DLL
  • C: Windows Microsoft.net Assembly GAC_32 CHILKATDOTNET4 V4.0_9.0.8.8.0__EB5FC1FC1FC52EF09BD CHILKATDOTNETNET4.DLL

但是,运行一个控制台应用程序,该应用程序涉及DLL错误的(64位)版本,并带有以下消息:

system.io.io.filenotfoundException:无法加载文件或汇编“ chilkatdotnet4.dll”或其依赖项之一。指定的模块无法找到。文件名:'chilkatdotnet4.dll'

因此,我现在已经使用MKDIR手动创建了以下GAC条目,并从命令提示符中复制(可能实际上可以或可能实际上可能不起作用。我不知道Gacutil.exe有什么特别之处):

  • c: windows microsoft.net assembly gac_msil chilkatdotnet4 v4.0_9.0.8.8.0__eb5fc1fc1fc52ef09bd chilkatdotnet4.dll(使用DLL的64bit版本)
  • c: windows assembly gac_64 chilkatdotnet4 v4.0_9.0.8.8.0__eb5fc1fc1fc52ef09bd chilkatdotnet4.dll
  • c: windows assembly gac_32 chilkatdotnet4 v4.0_9.0.8.8.0__eb5fc1fc1fc52ef09bd chilkatdotnet4.dll

在DLL的每个“安装”之后,我测试并收到相同的错误。欢迎任何想法!


编辑: :上面的GAC问题实际上可能不是罪魁祸首。事实证明,即使我创建了一个全新的控制台应用程序项目并直接添加.dll(以便它存放在垃圾箱中),我仍然无法在SEVIL上运行它。另外,我注意到针对.NET 4.0客户端配置文件而不是.NET Framework的控制台应用程序是创建的4. 。但是,我尝试运行 非常简单 测试应用程序针对两者,并且在引用BAD .DLL时都不会在服务器上运行。

是否有一种特殊的安装来运行.NET 4.0控制台应用程序?

有帮助吗?

解决方案

对于任何可能在将来遇到麻烦的人。这不是我注册DLL到GAC的方式或我从项目中指的方式的普遍问题。

chilkatdotnet4.dll(以及我确定的其他版本)是在Visual C ++中构建的。因此,部署的服务器必须为适当的处理器体系结构安装Visual C ++运行时。

2010年(.NET 4.0):

如果您在64位平台上运行X86应用程序。确保用“启用32位应用程序” = true标记应用程序池。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top