Visual Studio 2008:在调试模式下部署其他文件而不是在发布模式下

时间:2014-09-02 13:53:47

标签: visual-studio

我想部署其他文件,而不是源代码,但是在调试模式下比在发布模式下部署其他文件。 在我们的例子中,我们正在使用文件数据库。在调试模式下,开发数据库应部署到设备,在发布模式下发布数据库。 我知道有一种方法,利用前期和后期事件来做到这一点。但有没有办法,只是以不同的方式配置两种模式? 我使用的语言是C#,但在这种情况下是否会产生任何差异? 可以将各种文件添加到项目中,并且可以通过visual studio将这些文件复制到输出目录中。在我的例子中,这些文件然后从输出目录(bin \ debug,bin \ release)复制到移动设备。所以这很好。现在由于某种原因,我只是希望在调试模式下按F5时部署(复制)文件A,并且在发布模式下部署文件B.如果我能通过配置实现这一点,那就太好了。或者换句话说,项目是否可以在调试模式下链接到fileA,在发布模式下有文件B.

1 个答案:

答案 0 :(得分:1)

您尚未准确指定此数据库的部署方式 - 它是嵌入式资源吗?或者只是同一目录中的文件?或者实际安装/发布的东西?关于项目本身的部署方式也很重要,但有些想法可以帮助您入门:

如果空间和安全性不是问题,您可以部署两者并在配置文件上使用T4 templating engine来选择加载哪个。

接下来是你提到的构建后步骤。有时它确实更容易(尽管如果不同的开发人员具有不同的开发环境,它可能会更复杂)。

根据您实际执行部署的方式,发布/构建/包机制可能会为您执行此操作(例如WebDeploy,安装项目,安装防护等)。

最后一个选项有点hacky但应该工作...将每个版本的数据库放在一个新项目中,然后manually edit the project file,以便Debug构建引用一个项目,而Release构建引用另一个项目(注意,该链接适用于普通Dll而不是项目,但技术是相同的。)

以上所有假设您都在使用.Net 3.0或更高版本,并且对VB或C#有很强的权重。你确实需要提供更多的信息,例如我们所知道的只有.Net 1.1网站,IronPython甚至C ++都是完全不同的野兽。