Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 释放时连接到其他连接字符串_Deployment_Connection String - Fatal编程技术网

Deployment 释放时连接到其他连接字符串

Deployment 释放时连接到其他连接字符串,deployment,connection-string,Deployment,Connection String,我用完全相同的模式创建了两个数据库,一个用于开发,另一个用于产品。当应用程序发布或在发布模式下运行时,如何连接到产品数据库。现在,我通过实体框架连接到一个数据库,实体框架使用到dev数据库的连接字符串 到数据库的连接字符串通常在配置文件中设置。在项目中,您有一个app.config文件,该文件被复制到输出目录并重命名以匹配您的应用程序exe名称,例如MyApplication.exe.config 基本上,在部署到生产环境后,必须更改此文件中的连接字符串。稍后,如果在新版本中对配置文件没有任何更

我用完全相同的模式创建了两个数据库,一个用于开发,另一个用于产品。当应用程序发布或在发布模式下运行时,如何连接到产品数据库。现在,我通过实体框架连接到一个数据库,实体框架使用到dev数据库的连接字符串

到数据库的连接字符串通常在配置文件中设置。在项目中,您有一个app.config文件,该文件被复制到输出目录并重命名以匹配您的应用程序exe名称,例如MyApplication.exe.config

基本上,在部署到生产环境后,必须更改此文件中的连接字符串。稍后,如果在新版本中对配置文件没有任何更改,则在部署新版本时不需要覆盖它


如果您不经常部署项目或部署大量不同的连接字符串,则可以手动执行此步骤。如果你想自动化这一步,看看这个(正如@abatishchev在评论中写到的)。但是,请记住,连接字符串包含可能需要加密的敏感信息。由于您可能将应用程序部署到多个系统,因此可能无法在rev环境中存储在所有目标系统上都有效的加密值。

对我来说,这是一个部署问题。您可以使用类似于VisualStudio中的WebDeploy的工具,也可以使用诸如Michorosoft的发布管理或OctopusDeploy等工具

您可以使用这些部署工具来确保将配置文件的特定版本部署到每个环境中。因此,如果我部署测试,它将部署测试配置。对于live release,它将知道如何部署发布配置


您还可以使用powershell和其他脚本工具创建脚本,作为构建和发布过程的一部分修改您的配置文件。

是,这是一个桌面应用程序@PrestonGuillot@PrestonGuillot:SlowCheetah只是本地运行Web.config转换的加载项,不是吗?在prod上发布应用程序时,您必须运行正常转换。@abatishchev-SlowCheetah的可能副本可以在构建服务器上以与本地运行相同的方式运行-Visual Studio插件只处理布线,因此当您使用F5时,它是自动的。