Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
Visual studio 2010 App.config或Web.config中连接字符串使用.gitignore的最佳实践_Visual Studio 2010_Git_Connection String_Gitignore - Fatal编程技术网

Visual studio 2010 App.config或Web.config中连接字符串使用.gitignore的最佳实践

Visual studio 2010 App.config或Web.config中连接字符串使用.gitignore的最佳实践,visual-studio-2010,git,connection-string,gitignore,Visual Studio 2010,Git,Connection String,Gitignore,在一个更大的团队中工作时,我尝试了几种使用*.gitignore管理连接字符串的方法 从位于的.gitignore文件的官方存储库中,我下载并将其作为所有项目的起点 通过访问、键入VisualStudio,然后下载文件,可以完成相同的过程 我目前使用的方法是利用 请记住设置“始终复制” 我也尝试过使用,如中所述,但我发现这是一种过度使用 我想知道是否还有其他被认为是最佳实践的方法?也许有点冒昧,我认为不需要为文件添加shell glob的策略。在阅读此问题之前,我从未听说过“Connecti

在一个更大的团队中工作时,我尝试了几种使用
*.gitignore
管理连接字符串的方法

从位于的
.gitignore
文件的官方存储库中,我下载并将其作为所有项目的起点

通过访问、键入VisualStudio,然后下载文件,可以完成相同的过程

我目前使用的方法是利用

请记住设置“始终复制”

我也尝试过使用,如中所述,但我发现这是一种过度使用


我想知道是否还有其他被认为是最佳实践的方法?

也许有点冒昧,我认为不需要为文件添加shell glob的策略。在阅读此问题之前,我从未听说过“ConnectionString”,但据我所知,它们包含各种后端的URI/凭据

后端多久更改一次?更好的是,配置文件的路径多久更改一次?可能不足以保证一项政策。您唯一需要的是命名包含这些连接字符串的配置文件的约定,以便使用自动化工具轻松识别它们

因此,请使用您的工具或编写脚本,并将
中的foobarService.config附加到.gitignore文件中,以用于所有后端

1.找到文件。 2.获取配置文件名 3.别理他们 4.更新你的简历
  • 2014年3月-连接字符串策略的首席设计师


我很困惑,有人会询问关于管理.git文件的建议。这可能表明我看不到大局。请你用一些背景信息更新你的问题好吗?我很好奇为什么这是一个有意义的问题,因为我很难理解需要建立最佳实践来将字符串附加到文件中。

我不能为您的设置辩护,但我就是这样解决这个问题的

首先,我团队中的所有人都使用本地数据库,集成安全设置为true。这意味着,当我们从源代码管理签出文件时,最好使用本地设置。因此,我的Web配置文件如下所示

<add name="appConnString"
   connectionString="Data Source=(local);Initial Catalog=MyDatabaseName;Integrated Security=True;"
   providerName="System.Data.SqlClient" />
<add name="appConnString"
   connectionString="{{appConnString}}"
   xdt:Transform="Update" 
   xdt:Locator="Match(name)" />

因为我们使用octopusdeploy作为部署工具,所以我们的转换文件具有“web.release.config”的连接字符串,如下所示

<add name="appConnString"
   connectionString="Data Source=(local);Initial Catalog=MyDatabaseName;Integrated Security=True;"
   providerName="System.Data.SqlClient" />
<add name="appConnString"
   connectionString="{{appConnString}}"
   xdt:Transform="Update" 
   xdt:Locator="Match(name)" />

另一个需要考虑的问题是,如果您使用Azure托管,您可以在生产过程中的各个部署插槽上设置某些配置替换


这些只是我使用过的一些技术,我看到它们被非常有效地使用。有些人需要一点时间才能习惯,设置起来也会有很多挫折感,但从长远来看,有一个合适的部署系统是值得的。

我在一家公司工作,它完全按照您描述的方式进行。我认为configsource属性就是为此而设计的,所以我认为您的实现非常到位。@CarllDev感谢您花时间发布反馈。正如@CarlDev所说,您做到了。:)这是最好的方法。这个链接,也确实帮助了我,提到了上面的方法,以及其他一些选项。@CarllDev从网上下载一个文件并向其中添加字符串不是一个“实现”(我喜欢回到这篇文章,LOL)。最好是命令始终调用一个具有凭据的文件,好的
文件,该文件包含msecret.credentials
或类似的内容,并将
*.credentials
添加到您的
.gitignore
中。问题永远解决了。我声称自己是终极凭证管理元策略的创造者,我很高兴你通过阅读这个问题学到了一些东西。我没有问如何管理.gitignore文件,而是问如何管理ConnectionString,特别是在VisualStudio的情况下。如果你不理解这个问题,请不要用讽刺/反讽的回答成为一个怪人。@?在某些情况下经常如此。我有一个数据库的命名实例。\mssql2014,而我的同事将其作为默认实例。(点)。队里有30名优秀的队员。有时好人会犯错,犯错误。周五晚上,有人花了30分钟试图弄明白为什么某些功能会抛出SQLException,并将配置添加到.gitignore。仍然不需要任何政策。@。明天我们的队伍扩大到100人。他们提取代码,但是.config不在那里。除了连接字符串,还有很多东西。U盘用于救援?
$ find -name cs.xml | xargs grep -ho '[^"]\+\.config' >> .gitignore
<add name="appConnString"
   connectionString="Data Source=(local);Initial Catalog=MyDatabaseName;Integrated Security=True;"
   providerName="System.Data.SqlClient" />
<add name="appConnString"
   connectionString="{{appConnString}}"
   xdt:Transform="Update" 
   xdt:Locator="Match(name)" />