我希望有一个控制台应用程序的部署过程,类似于Web部署。我正在寻找一种方法,通过VS部署过程将“Release”目录的所有内容复制到网络共享目录中。
我知道,这看起来很奇怪,但是,这些应用程序用于内部作业的批处理。但是,他们必须通过开发过程,dev,uat,production。由于我们的流程只是复制/粘贴而不是安装,因此我仅限于此过程。从UAT环境复制/粘贴的问题是我们正在获取UAT服务器设置而不是生产。我试图在不让我们的部署团队做太多考虑的情况下尽可能提高效率。
所以主要问题是:从visual studio部署控制台应用程序的过程是什么,其结果实际上是从Release目录复制/粘贴到远程服务器上的目标目录?
答案 0 :(得分:2)
我认为你要求的是各种各样的东西:
VS Publish按钮同时执行这两项操作。
对于#1,您需要为每个目标环境和转换文件定义编译配置。非网络应用可以使用App.Config Transformation for projects which are not Web Projects in Visual Studio 2010?中描述的加载项。
对于#2,有很多解决方案:您可以创建自己的插件,添加发布按钮,或挂钩标准构建过程(请参阅https://www.simple-talk.com/dotnet/.net-tools/extending-msbuild/)或简单地包装VS解决方案的构建编译后执行部署的脚本。更完整的流程是实现一个持续的Integration Server,允许在构建和部署过程中创建不同的Environment配置。
答案 1 :(得分:0)
这取决于您的应用程序是否引用任何外部资源,如文件,注册表设置,其他应用程序和库等。远程服务器必须具有相同的资源,相同的环境才能使应用程序正常工作。应用程序本身可以只复制到任意位置。