当前位置: 首页 > 面试题库 >

如何为不同的工作位置改变连接字符串

陈扬
2023-03-14
问题内容

我正在研究C#4.0,WPF 4.0,SQL 2008项目,并且确实在家中和办公室中工作。我只是根据其他问题中的建议,使用Visual
SVN设置了SubVersion。我遇到的问题是数据库的连接字符串在每个位置都不同。

在家里,我的开发系统上有数据库,在办公室,数据库在我们的服务器上。两者都没有暴露在互联网上,因此我必须同时使用两者。有没有一种优雅的方法可以自动选择正确的方法?

更新

我一直对此有持续的问题,并试图在学习版本控制和完成项目上取得平衡。我一直在阅读颠覆书,并且涵盖了所有内容。我真正的问题是处理在不同开发环境之间需要 适当
变化的文件。我可以轻松地对此进行编码,但是对我来说似乎有点古怪。我确实看到了几篇有关svn:exclude可能有多古怪的文章,而且在我看来,在家中起作用的原因正在引起工作中的问题,反之亦然。

也许我只是不知道正确的答案,所以请向我指出正确的方向(我不需要您为我做这件事)或投票赞成现有的最佳答案,我将继续我的研究。

太感谢了


问题答案:

如果您真的想完全自动化,可以执行以下操作:

首先,将不同环境的设置存储在源代码管理中,而不存储在实际配置文件中。例如:

configfiles\app.config.mikeb_home
configfiles\app.config.local
configfiles\app.config.development
configfiles\app.config.staging
configfiles\app.config.production

然后,在构建配置中,您可以添加一个步骤,以将正确的配置文件复制到您的根app.config中。例如,基于“环境”参数(计算机名,用户名等)的“预构建事件”(命令行脚本)。您可以通过在.csproj文件中添加一些msbuild命令来实现相同的目的。

但是,这一切真的值得吗?TortoiseSVN具有称为“提交时忽略”的功能,可帮助您防止意外提交不应提交的本地更改文件(在提交对话框中,右键单击文件=>移至更改列表-

提交时忽略)。如果您实际上需要更改.config文件中的其他内容,可能会有点烦,但是仍然如此。



 类似资料:
  • 我试图在MySQL上设置一个非常简单的会话连接变量,但它没有任何作用。下面运行的查询不会导致任何错误,但不会更改MySQL连接的字符集。如果我在文件中将“collation\u server”和“character\u set\u server”的默认值配置为,而不是,那么字符集将变为,但我想知道为什么我不能从PHP脚本中更改连接字符集。 此查询显示语句没有影响。

  • 编辑:完整的脚本现在只有两行。在我改变了jdk之后,它曾经工作过并且停止了工作。 无法连接字符串(完整脚本) 输出 棒极了。lang.MissingMethodException:没有方法的签名: 脚本1。hello()适用于参数类型:(java.lang.String) 值:[,]可能的解决方案: getAt(java.lang.字符串),睡眠(长), 每个(groovy.lang.Closur

  • 我试图找出在应用程序中设置连接字符串的最干净/最简单的方法。来自ci/管道的my spring boot应用程序中的属性文件。我们正在使用gitlab。我们正在部署两个服务实例,等等。我也几乎没有/没有yaml经验。 所以当前application.properties有一个值/属性:spring.data.mongodb.uri=mongoDB://......... 我们的。gitlab-ci

  • 问题内容: 我使用的是Oracle 10g,并具有以下表结构:id,段落 我想按ID分组并连接段落。每个段落可能超过1500个字符。 当我尝试wm_concat函数时,它抱怨字符串缓冲区太小。实际上,我在Oracle网站上尝试了许多示例,但所有示例均因字符串缓冲区太小而失败。 我该如何解决? 问题答案: 因此,我猜是错误的所在,我可以看到您在这种情况下如何认为这不适用于您。 但是,这是的错。这是一

  • 问题内容: 如何在python中连接字符串? 例如: 将其与形成字符串: 问题答案: 最简单的方法是 但为了提高效率,请参阅:https : //waymoot.org/home/python_string/

  • 假设我有以下片段: 我希望这段代码能够显示: 这使我认为运算符不适合连接字符串和变量。 您应该如何使用PowerShell来实现这一点?