3

InstallShield 中未解决依赖关系。

我的环境是 VS 2010 和 InstallShield Limited Edition。我有一个项目,我正在尝试使用 InstallShield Limited Edition 项目进行部署。要部署的项目有几个通过 NuGet 添加的引用:

<packages>
  <package id="Common.Logging" version="2.0.0" />
  <package id="CsvHelper" version="1.4.0" />
  <package id="log4net" version="1.2.10" />
  <package id="NServiceBus" version="3.2.1" />
  <package id="NServiceBus.Host" version="3.2.1" />
  <package id="Quartz" version="2.0.1" />
</packages>

在安装项目中,我添加了项目的主要输出(步骤 2 指定应用程序数据/文件)。添加所有依赖项(右键单击主要输出 -> 构建时扫描的依赖项),除了一个。该列表和已安装的文件中缺少 Quartz.dll。

我该如何解决这个问题,以便解决所有依赖项并将其添加到设置中?

我不想手动添加 Quartz.dll,因为当通过 NuGet 提供新版本时,它的位置会改变。

顺便说一句:Quartz.dll 是一个项目参考。

4

1 回答 1

0

IMO、依赖分析工具(和其他分析工具)非常适合获取数据点,以便您自己分析应用程序的工作方式以及它的运行时/部署需求是什么。

试图用一个自动的“简单”按钮来封装这个过程并不是一个好策略。

如果您知道您的代码需要“quartz.dll”,请确认:

1) 它是可再分发的 2) 它还没有部署解决方案(例如,System.Windows.Forms 由 .NET FRamework Install 部署) 3) 如果需要,手动将其创作到您的安装中。4)关闭依赖扫描并对所有依赖重复此过程。

是不是比要求一个软件为你解决问题更费力?当然。它会更具确定性和可靠性吗?绝对……这就是我们得到大笔报酬的原因。

于 2012-06-08T12:32:21.183 回答