gpt4 book ai didi

c# - 如何通过 MSBuild 为 Windows 服务和 Windows 应用程序创建基于文件的简单分发

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:57 25 4
gpt4 key购买 nike

首先,感谢您花时间阅读这个问题并可能对此问题发表评论。

总结

我如何使用 MSBuild 将 MS Visual Studio Windows 服务和 Windows 应用程序自动打包到我可以发布给我们的 Dev-Ops 部门的简单文件(一个文件目录,包括 dll、exe、配置等)。我不希望以 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 编译代码并创建构建后事件以创建分发。
  • 您的建议(非常感谢)。

最佳答案

首先,.Net 托管的 Windows 服务,就像它们的非托管对应服务一样,必须通过名为 InstallUtil 的命令行工具向 Windows 服务 Controller 注册。对于不同的 .Net Framework 版本,此实用程序有不同的版本。您会在安装 .Net 框架的地方找到它们。例如,在我的开发箱中,它们位于 C:\Windows\Microsoft.NET\Framework 的各个框架子文件夹下。

其次,也许您可​​以阐明您在 Windows 应用程序分发版中遇到的具体问题。这些通常与简单的文件分发一样容易完成,就像网站和网络服务一样。

关于c# - 如何通过 MSBuild 为 Windows 服务和 Windows 应用程序创建基于文件的简单分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12265784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com