C# VS安装程序部署后无法加载DLL
我试图部署的C#应用程序有两个关键引用,A.dll和B.dll 首先,我使用InstallShield LE,它将发布文件夹中的所有内容(.dll和.pdb)都包含到应用程序文件中,应用程序可以毫无问题地部署到不同的计算机上。该应用程序安装后大约6米 然后,我开始使用VS安装程序,将“主输出”包含到应用程序文件夹中。我可以看到A.dll和B.dll都包括在内。在另一台计算机上安装应用程序后,A和B也存在于安装目录中。当我运行应用程序时,它会给我“无法加载文件或程序集”B.dll“或其依赖项之一”错误。dll仅依赖于.NET framework。由于安装目录中只有.dll(没有.pdb),因此安装后应用程序仅为3M 我错过什么了吗?任何想法都会有帮助,谢谢 编辑:C# VS安装程序部署后无法加载DLL,c#,visual-studio-2010,deployment,C#,Visual Studio 2010,Deployment,我试图部署的C#应用程序有两个关键引用,A.dll和B.dll 首先,我使用InstallShield LE,它将发布文件夹中的所有内容(.dll和.pdb)都包含到应用程序文件中,应用程序可以毫无问题地部署到不同的计算机上。该应用程序安装后大约6米 然后,我开始使用VS安装程序,将“主输出”包含到应用程序文件夹中。我可以看到A.dll和B.dll都包括在内。在另一台计算机上安装应用程序后,A和B也存在于安装目录中。当我运行应用程序时,它会给我“无法加载文件或程序集”B.dll“或其依赖项之一”
A.dll和B.dll之间的区别在于,B.dll是从C++/cli程序编译的,而A.dll是从C#编译的。这是否使它们在部署中有所不同 我建议在目标计算机上使用Fusion日志查看器来确定未找到DLL的原因 有时,Fuslogvw工作起来会很痛苦,如果是这样的话,试着重新启动机器,或者看看任何关于它的博客文章
我确信,一旦您找到原因(在日志中),MSI的问题就显而易见了,但如果您不发布您的发现。我再次尝试VS installer部署,这次应用程序在一台计算机上工作,在另一台计算机上仍然不工作。我试过Fuglogvw,在B.dll上登录时没有说任何失败,因为它现在可以在这台计算机上工作(我猜)。这很奇怪,我不明白。吉姆,我刚刚编辑了我的问题,请再检查一遍。感谢您是否收到b.dll的日志条目,表明它已成功加载到无法工作的计算机上?您应该记录所有内容,而不仅仅是错误,以确保这不仅仅是记录失败。