【发布时间】:2011-12-05 13:32:27
【问题描述】:
我有一个使用 VB.net 编写的 Visual Studio 解决方案。
该解决方案包含 4 个项目。
- 图形用户界面
- 一项服务
- 设置库
- WiX 设置项目
这是它过去的工作方式。
上周,我没有共享设置库,一切都很好。但是,因为 GUI 和服务都包含一个名为 ConfigXML.vb 的相同类(用于序列化和反序列化设置),我经常在项目之间对其进行更改以及复制和粘贴,所以我决定将该类提取到一个库项目中它是自己的(以上 3 个)。
本周,没有任何效果!
我添加了对 1. 和 2. 的项目引用,并且事情的工作方式与以往一样。当我“开始调试”时,我可以正常查看和使用 GUI。
但是,我遇到的问题是,当我创建并安装解决方案的新设置时,GUI 和服务都无法启动。
我认为问题是设置库不再是预期的位置/没有正确注册,需要通过 Setup.msi 或类似的东西放置在目录中。
这是我第一次做这样的事情,所以我希望这是我需要的一个明显的修复。
【问题讨论】:
-
当类库构建完成并且您的可执行项目将其标记为依赖项时,应将 DLL 复制到同一目录。
-
好的,行得通!有没有办法阻止我需要将 dll 复制到两个项目的 exe 目录?
-
将其添加为依赖项。在VS2010中:右键项目->添加引用->项目->选择DLL项目->确定。
-
当您创建安装项目时,然后将您的依赖项也添加到您的安装项目中,然后它会自动将它们复制到您的 exe 位置路径中..
-
@Polynomial,我已经做到了,它有效。但问题是安装项目安装了 2 个应用程序,一个 GUI 和一个服务器。根据您解决我的问题的建议,我将 .dll 文件放入客户端计算机的安装目录(安装了损坏的软件并且失败)并且它可以工作。要修复服务,还必须将 .dll 放入服务安装目录。这是我的问题的解决方案。为了或减少重复,我的最后一个问题是,您是否知道一种将 .dll 放在中心位置一次的方法,而不是将其复制到 2 个单独的文件夹中?
标签: vb.net visual-studio dll setup-project