2013-05-13 66 views
2

我希望有控制台应用程序,类似于网络部署中部署过程部署控制台应用程序。我正在寻找一种方法,通过VS部署过程将“发布”目录的所有内容复制到网络共享目录中。通过仅复制的bin目录

我知道,这似乎很奇怪,但是,这些应用程序用于批量内部工作。但是,他们必须通过开发过程,开发,生产。由于我们的流程仅仅是复制/粘贴而不是安装,我仅限于这个过程。从UAT环境复制/粘贴的问题是我们正在获取UAT服务器设置而不是生产。我试图尽可能提高效率,而不需要我们的部署团队做太多的考虑。

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

+0

这是一个.NET控制台应用程序或本机(C \ C++)? – Steve 2013-05-13 16:53:32

+0

对不起。为了澄清,这将是一个.net应用程序。 – FreakinWard 2013-05-13 16:58:15

+0

@IAmCoder我已经部署了许多控制台应用程序,只需使用'Release'文件夹... – 2013-05-13 17:00:21

回答

2

,我认为你所要求的东西混合:

  1. 如何将配置文件复制到目标特定的环境
  2. 如何自动复制二进制文件和转化配置文件

VS发布按钮执行两个操作。

#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解决方案的构建包装到脚本中编译后进行部署。更完整的过程将是实现一个连续的集成服务器,允许在构建和部署过程中创建不同的环境配置。

0

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

+0

应用程序确实引用了其他库等。但是,在构建过程中,应用程序需要运行的所有内容都被复制到Debug/Release目录。我需要的是从Release目录复制到任意目录然后完成的发布过程。做这个的最好方式是什么? – FreakinWard 2013-05-13 17:18:42

+0

只需复制发布目录的内容即可。您可以在本地尝试此操作 - 将发布目录的内容复制到其他位置并尝试运行程序。如果它需要的东西确实在Release目录中,它不会崩溃。但这取决于你的程序的功能。可能有像防火墙规则,machine.config设置等。即使控制台应用程序有时也需要安装程序 – OpenMinded 2013-05-13 17:45:21

+0

目前的方法是复制目录 - 这工作正常。我正在寻找的是一种使用VS Publish功能的方法。我只想点击发布,并将配置文件夹的内容复制到我们为项目目录建立的任何文件夹中。 什么是这样做的最佳方法? – FreakinWard 2013-05-13 18:05:54