2

我想要一个控制台应用程序的部署过程,类似于 Web 部署。我正在寻找一种通过VS部署过程将“Release”目录的所有内容复制到网络共享目录的方法。

我知道,这看起来很奇怪,但是,这些应用程序用于内部作业的批处理。但是,他们必须经历开发过程,dev,uat,production。由于我们的过程只是复制/粘贴而不是安装,因此我仅限于这个过程。从 UAT 环境复制/粘贴的问题是我们获取的是 UAT 服务器设置而不是生产环境。我试图在不让我们的部署团队做太多思考的情况下尽可能地提高效率。

所以主要问题是:从 Visual Studio 部署控制台应用程序的过程是什么,其结果本质上是从 Release 目录复制/粘贴到远程服务器上的目标目录?

4

2 回答 2

2

我认为您要求的是混合的东西:

  1. 如何转换配置文件以针对特定环境
  2. 如何自动复制二进制文件和转换后的配置文件

VS Publish 按钮两者兼而有之。

对于#1,您需要为每个目标环境和一个转换文件定义一个编译配置。对于不是 Visual Studio 2010 中的 Web 项目的项目,非 Web 应用程序可以使用 App.Config 转换中描述的加载项吗?.

对于#2,有很多解决方案:您可以制作自己的插件来添加发布按钮,或挂钩标准构建过程(请参阅https://www.simple-talk.com/dotnet/.net-tools/ extension-msbuild/ ) 或简单地将 VS 解决方案的构建包装在一个脚本中,该脚本在编译后进行部署。更完整的过程是实现一个连续的集成服务器,它允许在构建和部署过程中创建不同的环境配置。

于 2014-01-08T21:35:29.313 回答
0

这取决于您的应用程序是否引用任何外部资源,如文件、注册表设置、其他应用程序和库等。远程服务器必须具有相同的资源、相同的环境才能使应用程序正常工作。应用程序本身可以被复制到任意位置。

于 2013-05-13T17:15:51.143 回答