VS安装程序部署后无法加载DLL

时间:2013-05-23 19:28:45

标签: c# visual-studio-2010 deployment

我正在尝试部署的C#应用​​程序有两个关键引用,A.dll和B.dll。

首先,我使用InstallShield LE将release文件夹中的所有内容(.dll和.pdb)包含到应用程序文件中,将应用程序部署到不同的计算机上没有问题。安装后应用程序大约为6M。

然后,我开始使用VS安装程序,包括“主要输出”到应用程序文件夹。我可以看到包括A.dll和B.dll。在另一台计算机上安装应用程序后,A和B也存在于安装目录中。当我运行应用程序时,它给了我“无法加载文件或程序集”B.dll“或其中一个依赖项”错误。 B.dll只依赖于.NET框架。安装后应用程序只有3M,因为安装目录只有.dll(没有.pdb)。

我在这里错过了什么吗?任何想法都会有所帮助,谢谢。

编辑: A.dll和B.dll之间的区别在于B.dll是从C ++ / cli程序编译的,而A.dll是从C#编译的。这会使它们在部署方面有所不同吗?

1 个答案:

答案 0 :(得分:0)

我建议在目标计算机上使用Fusion日志查看器来确定找不到DLL的原因。

http://msdn.microsoft.com/en-us/library/e74a18c4.aspx

有时Fuslogvw可能很难开始工作,如果是这样,请尝试重新启动计算机,或者查看有关它的任何博客文章

https://www.google.ca/search?q=fuslogvw.exe&oq=fuslog

我敢肯定,一旦你找到原因(在日志中),很明显MSI会出现什么问题,但如果没有发布你的发现。