我尝试部署的 C# 应用程序有两个关键引用,A.dll 和 B.dll。
首先,我使用 InstallShield LE,它将发布文件夹中的所有内容(.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# 编译的。这是否使它们在部署上有所不同?