在引用另一个项目ProjectWPF
的WPF应用程序ProjectB
中,ProjectB输出是一个DLL(插件),我必须将其包含在名为' PlugIns'的文件夹中。在ProjectWPF'的根源。
现在,我找到了一种使用 Add as Link
功能添加文件的方法。我所做的是在ProjectWPF项目中创建了一个名为PlugIns的文件夹。然后我添加现有项目...并浏览到ProjectB中包含DLL的文件夹 - 在本例中为bin / Debug版本。然后将链接文件的属性设置为“内容”和“始终复制”。
当我构建项目时,一切正常,ProjectWPF项目的bin Debug和bin Release文件夹包含我的PlugIns文件夹,该文件夹包含DLL。
当我使用ClickOnce发布ProjectWPF,然后通过运行Setup.exe安装它并浏览应用程序目录时,我可以看到包含DLL的文件夹PlugIns
。因此,添加为链接功能确实有效。
但是,这个插件DLL只是Debug版本的副本。即使我在ProjectWPF中切换到Release,也总是抓住我最初链接到的Debug版本。我想要的是它为我在(发布版本或调试版本)中的构建模式获取适当的版本
有没有更好的方法在Debug和Release版本之间进行管理? 或者是否有更好的方法在ClickOnce应用程序中嵌入外部依赖项(如插件)?
P.S。这是.NET 4.5或更高版本
答案 0 :(得分:1)
您不需要添加引用,即使是部署工作的链接也是如此。生成清单后,使用Manifest Manager Utility打开它。 然后按照以下步骤操作:
你可以看看here。虽然本文档指向WPF Prism应用程序,但它对使用ClickOnce生成的任何清单WPF或Winform都有效。