到目前为止,我一直在使用/练习Visual Studio(VS)来创建,编译和部署单个项目的解决方案。它非常直接,至少对我而言。您只需转到.. \ bin \ release文件夹并压缩其中包含所有依赖项的所有文件。
现在我开始涉及多个项目的解决方案。我有一个Windows服务项目,具有以下解决方案安排。
溶液ServiceXYZ
我将ServiceXYZ设置为启动项目。它还引用了项目1到3,每个项目也引用了一个外部DLL。每个项目中的构建路径是\ bin \ Release。
构建和部署此Windows服务的最佳方法是什么?在构建解决方案之后,我是否需要手动将每个项目中的每个DLL以及EXE从服务项目复制到文件夹并压缩它?我想我可以将每个项目中的构建路径设置为一个公共文件夹,但这看起来并不正确。
ServiceXYZ \ bin \ release文件夹似乎具有所有依赖项,EXE文件包括app.config和serviceXYZ.exe.config。是因为这个项目是启动项目吗?另外,我只想要serviceXYZ.exe.config,而不是app.config,因为它可能会混淆用户。我想我不必为了部署而复制它。
将log4net添加到此混音中,现在我正在拉我的头发,以了解日志文件的位置以及log4net.config应该在哪里。
为整个解决方案设置输出目录的最佳方法是什么,以便所有DDL,EXE和log4net.config以及mylog.log都在一个位置?
由于
答案 0 :(得分:0)
将.EXE
个文件添加到项目中时,请查找其属性。在那里你会找到一个属性CopyToOutputDirecory
。将其设置为TRUE
。
添加引用.dll
时,查找其属性。在那里你会找到一个属性CopyLocal
。将其设置为TRUE
。
对于其他文件,您应该获得一个属性Copy To Output Directory
。
将另一个项目添加到当前项目时,将其输出目录设置为与当前项目相同。表示两个项目的输出目录必须相同。