2012-08-10 57 views
4

我有两个项目的解决方案:WiX源可以参考解决方案中其他项目的NuGet包吗?

  • .NET应用程序
  • WiX的安装项目。

我知道,可以参考WiX源中的项目输出($(var.WindowsFormsApplication1.TargetFileName))。

现在我已经添加了一个NuGet包引用到我的.NET应用程序。所以,我想将NuGet包的内容放入我的设置中。

有没有办法做到这一点,而不是手动添加文件?

回答

5

我不相信有任何联系。我知道nuget是什么,但我并没有多少用处,因为它更多的是将你的.NET依赖关系转化为范围,然后是软件分发。根据nuget如何放置文件,您可能可以执行诸如$(var.SomeProject.TargetDir)nuget_fetched.dll之类的操作。

这是假设SomeProject使用nuget的方式是引用在本地复制并可在项目的Outdir中使用。

+0

感谢您的回答。听起来很糟糕。在构建.NET项目之后,NuGet包内容在解决方案目录中可用...这就是我在“手动添加文件”下的含义。问题是包装结构的潜在复杂性 - 这正是我想要避免的。 – Dennis 2012-08-11 10:34:49

+1

据我了解nuget,这是关于拉动外部组件,并以简单的方式将它们添加到您的项目。我不相信他们根本就没有解决部署问题。 – 2012-08-11 11:59:31

+0

我认为这是迄今为止做到这一点的最好方法,因为软件包管理器为您提供了来自软件包的库('net40','sl3'等)的正确“风味”,否则您必须硬编码或为安装程序添加路径时创建启发式(除了计算软件包版本号)。也就是说,我刚刚遇到了一些包的库的第一次出现*不*被设置为“复制本地”(但只在一个开发人员的机器上),当然当它的依赖关系不在预期的地方。 – shambulator 2013-11-21 15:14:12

1

我写了一个Resharper实时模板来删除大量的文件添加打字,但基本上我只是手动添加文件。每个nuget包创建一个Wix组件可以保持整洁。

相关问题