我使用引用外部DLL的C#创建了一个控制台应用程序.当我在我的开发机器上运行它时,一切正常.在生产机器上,我收到"类型初始化"错误.看看这个,似乎可能是因为应用程序无法找到引用的DLL.
在我的开发框中,引用的DLL位于GAC中,但不在生产中.在开发框中从GAC中删除DLL时,会发生同样的错误(除非我在调试模式下从本地Visual Studio构建运行它).
我对网站设置比较熟悉,并且知道DLL可以放在bin目录或GAC中,以便Web应用程序可以找到它们.但我不确定这对于控制台应用程序是如何工作的.
我不愿意将DLL放到生产盒上的GAC中,因为它只需要这个小应用程序.我是否有其他方法来部署控制台应用程序并让它找到所需的程序集?
这是我得到的例外:
错误1找不到类型或命名空间名称"Entry"(您是否缺少using指令或程序集引用?)C:\ Documents and Settings\Hacker\My Documents\Visual Studio 2005\Projects\basic\basic\Program .cs 10 8基本
Jar*_*Par 11
最简单的答案是将DLL放在与控制台应用程序相同的目录中,它将找到它们.
较长的答案相当复杂,因为有许多因素会影响CLR查找引用程序集的方式和位置.我建议您查看MSDN中的以下文章,该文章详细介绍了它的工作原理.