ClickOnce Manifest是如何构建的?

时间:2016-03-24 13:15:26

标签: visual-studio clickonce

我的团队正致力于为内部应用程序开发新功能。我们已经对该项目进行了分支,并一直在开发我们的功能。现在,我正在尝试使用Click Once部署到QA环境。当我尝试使用部署的Click Once安装程序安装应用程序时,出现此错误:

  

无法安装或运行该应用程序。该应用程序需要   该程序集Infragistics4.Win.UltraWinGrid.ExcelExport.v15.2版本   15.2.20152.1000首先安装在全局程序集缓存(GAC)中。

当我打开.manifest文件时,我可以看到原因。此程序集列为先决条件......

  <dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
      <assemblyIdentity name="Infragistics4.Win.UltraWinGrid.ExcelExport.v15.2" version="15.2.20152.1000" publicKeyToken="7DD5C3163F2CD0CB" language="neutral" processorArchitecture="msil" />
    </dependentAssembly>
  </dependency>

我们不希望GAC中有这个程序集。 (请注意,没有我们的新功能的应用程序的QA版本工作正常,并且在.manifest中没有此依赖项。)

所以我无法弄清楚为什么它被列为先决条件。如果我打开项目属性并选择“发布”选项卡,我可以配置“单击一次”部署。所以我打开“应用程序文件”对话框并找到程序集。发布状态设置为“包含”(而不是“先决条件”或“先决条件(自动)”。)所以我想弄清楚的是为什么这会被添加到我的清单中这样。

其他信息:如果我在.manifest文件中向下滚动,我也会看到此条目:

  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Infragistics4.Win.UltraWinGrid.ExcelExport.v15.2.dll" size="147456">
      <assemblyIdentity name="Infragistics4.Win.UltraWinGrid.ExcelExport.v15.2" version="15.2.20152.2023" publicKeyToken="7DD5C3163F2CD0CB" language="neutral" processorArchitecture="msil" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
        <dsig:DigestValue>9PKMWPyXwq1e6MjDM2jN++yzombFFoRA/GlyrvJTu00=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>

请注意,这是同一程序集的较新版本。当我对“应用程序文件”部分进行更改时,我会在此依赖项标记中看到它们,而不是在第一个依赖项标记中。知道第一个依赖标记来自何处?

0 个答案:

没有答案