首先,感谢您花时间阅读并可能评论这个问题。
概括
如何使用 MSBuild 自动将 MS Visual Studio Windows 服务和 Windows 应用程序打包成简单的(包括 dll、exe、配置等的文件目录),我可以将其发布到我们的 Dev-Ops 部门。我不希望以 MSI 安装程序或 setup.exe 或某些 Web 部署格式分发,这些格式似乎是 MS Visual Studio 发布中的默认设置。
我的环境
- Windows XP SP3(32 位)、Window Server 2008 R2(64 位)
- .NET 4.0(32 位)
- MS Visual Studio 2010(32 位)
- NAnt 0.91(32 位)
我的情景
目前,我们有大约 5 种类型的 MS Visual Studio 项目,对于前 3 种类型(Web 服务、Web 应用程序、网站),我们可以使用 MSBuild 根据内容将源打包到一个简单的文件目录(分发)中csproj 文件使用:
msbuild my.component.csproj /p:Configuration=Release /t:Package /p:_PackageTempDir="C:\temp\some\dir"
对于后两种类型(Windows 服务、Windows 应用程序),我们不能像上面那样使用 MSBuild。通过 Visual Studio 中的 Publish 命令进行调查,看来我可以为 Windows 服务和 Windows 应用程序创建 setup.exe 安装程序,但这不是我想要的 - 我只想能够创建一个简单的文件目录(分发) 就像我为其他项目类型所做的那样。我接受这可能是不可能的,但我只想确定。
结论
到目前为止,对于 Windows 服务和 Windows 应用程序,我得出以下结论,前两者并不理想:
- 使用 MSBuild 编译代码并使用 NAnt 创建简单的文件目录(分发)。
- 使用 MSBuild 编译代码并创建构建后事件以创建分发。
- 您的建议在这里(非常感谢)。