2011-10-16 164 views
1

我有一个包含3个项目的Visual Studio 2010解决方案:一个dll项目,一个可执行项目和Installer项目。部署包含dll项目和exe项目的Visual Studio解决方案

我正在同时处理dll和可执行文件。可执行文件只是库的前端。在Visual Studio中开发这两个工具时,我只是在可执行文件中添加了对dll项目的引用,并且它工作正常。

我遇到的问题是部署。理想情况下,该DLL将被编译并安装在可执行文件的子目录中。为我的安装程序使用“Visual Studio安装程序 - 安装向导”项目模板似乎没有给我我需要的选项。

我通过在不同的项目中开发我的后端和前端来解决这个问题吗?我应该采取什么步骤将可编译的dll与可执行文件一起部署?我可能会全力以赴,所以请帮助我理解一个更好的方法,如果这看起来倒退了。对于我在大学学到的所有编程,没有人去过我做什么,当我真的想要部署我的软件。

回答

0

由于DLL项目明确地从EXE项目中引用,它会自动在EXE的build文件夹复制(即BIN \ Debug或Bin \发布),被认为是部分EXE项目的“主要输出”。因此,您只需要从安装项目中引用EXE。

安装的DLL将与EXE位于同一文件夹中。为什么要将DLL安装在用户计算机上的其他文件夹中(如果它不在开发计算机上)?如果您正在动态加载并使用反射,则不要从EXE中引用它,而是从安装项目中引用它,然后让您可以设置所需的任何目标文件夹。

+0

是的,我明白你的意思了。我不需要任何特定目录中的dll - 我只是运行了构建/安装,并成功地将dll和可执行文件安装在相同的目录中,这很好。现在唯一的问题是,从开始菜单启动我的程序会产生一个错误,Windows“无法加载文件或程序集”SimTools,版本1.0.0.0等或其依赖项之一,系统找不到指定的文件。但是,请注意,如果我浏览到资源管理器中的可执行文件,我可以运行该程序并正常运行。 – Michael

+0

我也解决了这个问题,这只是我的捷径实际指向的问题。 Visual Studio看起来非常强大,但构建过程看起来相当复杂。 – Michael

0

这就是你需要做的。

您的解决方案创造新的项目>其他项目类型>单击安装和部署

上的应用程序文件夹>右键单击>添加您的前端应用程序>构建。

Check this

问候

+0

链接不再有效。你能更新吗? –

相关问题