ClickOnce中的不同安装文件夹结构

时间:2016-03-10 13:14:29

标签: c# visual-studio clickonce manifest

我有一个包含6个项目的Visual Studio 2013解决方案,我们称之为A, B, C, D, E, F。项目A是主项目,并引用所有其他项目B,C,D,E,F。附加库需要保留在相对于项目A的可执行程序文件的名为libs的文件夹中。还有另一个文件夹调用plugIns,其中项目B,C和D的DLL驻留在项目A的动态启动时加载它们。项目E和F只是带有一些帮助类的正常项目。

现在我的问题是,我想用ClickOnce部署我的应用程序。服务器上的文件夹结构如下:

  • SETUP.EXE
  • A.application
  • publish.htm
  • 应用程序文件
    • A_1_0_0_0
      • 所有DLL,可执行文件,清单,......

在上次提到的文件夹中缺少所需的文件夹结构:

  • 应用程序文件
    • A_1_0_0_0
        • 所有DLL,插件除外
      • 插件
        • 项目B,C,D的插件DLL

如何使用Visual Studio 2013中的ClickOnce实现此目的?我也使用manifest file,但之后我再也无法编译程序,导致不同DLL的“codebase”与WHAT相关?!?!?。我需要代码库是相对的,因为开发需要来自不同的人。

1 个答案:

答案 0 :(得分:0)

尝试在Extensions文件夹中部署使用MEF扩展的应用程序时遇到了这个问题。唯一的解决方案似乎是在VS之外的脚本中使用MAGE。我按照https://msdn.microsoft.com/EN-US/library/xc3tc5xx%28d=hv.2,v=vs.120%29.aspx

上使用MAGE.exe的建议让我的脚本工作

我确实必须添加一些未在MSDN指南中指定的选项,以使其完全按照我的需要工作(例如我的公司作为发布者,而不是MS,部署;使用清单进行信任;创建“开始”菜单快捷方式)