问题标签 [config-transformation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
153 浏览

.net - .Net - 将开发配置文件与发布位置的配置合并

我有一个 WCF 服务应用程序,它有一个配置部分(在已发布的 web.config 中),我不想在从 VS 2010 发布更新时更改它,我不能简单地通过转换来更改它(除非有办法保留发布位置的配置文件中的配置部分数据)。

配置部分包含与电子商务网站上可用的付款相关的信息。它保存在已发布的位置,不会在 VS 项目 web.config 中更新。有没有办法将开发配置文件与我要发布到的位置的现有配置文件合并?

0 投票
1 回答
2580 浏览

web-config - Web.config 转换和搜索替换

我需要在 web.config 中的多个 WCF 服务中切换一个 IP 地址。通过 web.config 转换,除了通过 xpath 指定每个地址之外,还有什么方法可以创建搜索和替换语句。例如,为 1.2.3.4 的所有实例切换 IP 地址 1.2.3.4 和 4.3.2.1

0 投票
2 回答
6456 浏览

msbuild - 如何通过 Jenkins 中的批处理命令仅触发 web.config 转换

我正在设置一个 Jenkins 服务器来构建 .NET 项目。我们使用 Visual Studio Web.config 转换来转换每个环境(Dev1、Dev2、QA 和 Release)的配置文件。我在我的 MSBuild 命令中使用以下命令行参数,它正在处理转换:

问题是我必须为每个环境重新构建解决方案,并且一些解决方案相当大并且需要一些时间来构建。我只想构建一次解决方案,然后只触发其他环境的转换。有谁知道通过 MSBuild 批处理命令执行此操作的方法,或者在 Jenkins 中完成此操作的另一种方法?

0 投票
1 回答
256 浏览

c# - 使用持续集成修改 .NET 项目文件

我们有两个用于测试和生产的代码库。这两个代码库之间的唯一区别在于两个文件:

  • 配置文件
  • 构建文件 (.csproj)

维护两个分支是一项相当大的工作,可以通过将代码库合并为一个并使用持续集成(例如 Hudson,例如)根据目标环境修改文件来消除。

从 VS2010 开始,配置文件有一个非常智能的解决方案,它允许我们为两个构建配置“Release-Test”和“Release-Prod”定义不同的配置文件转换。

但是,我们有一些差异反映在项目文件 (.csproj) 中,例如:

  • 生成的程序集的名称:Foo.exe 与 Foo-Test.exe。
  • 汇编版本。
  • ClickOnce 部署设置。

有没有什么聪明的方法可以根据构建配置转换 csproj 文件,或者如何将这些设置提取到配置文件或 C# 代码中?

更新:

我尝试按照@JaredPar 的建议在 csproj 文件中使用条件 MSBuild 属性,但它有一些注意事项(有关详细信息,请参阅我的评论)。还有其他方法可以实现这一目标吗?

0 投票
1 回答
2021 浏览

msbuild - 如何在转换时将 configSource 转换为 web.config 中的内联元素

目前我的 web.config 看起来像这样:

生成部署包 (Msbuild.exe + target=Package) 时,它不会“神奇地”将我的连接字符串参数化为 parameters.xml 文件以在部署时进行替换。

当我内联我的连接字符串时,一切都很好,并且为我的连接字符串生成了参数..

所以:

如何通过 web.config 转换复制 connectionstrings.config 的内容以替换我的 <... configsource="xxx"/> 部署?

编辑: 我接受了 Sayed Ibrahim 的回答,因为“默认”行为非常好(web.config 中连接字符串的自动参数化)但最后最好准确指定需要参数化的内容(通过{projectname} .wpp.targetsparameters.xml文件)。

0 投票
1 回答
236 浏览

web-config - Web.Config 转换只是复制 web.*.config 文件

我对此很陌生,但它看起来很简单,我想知道它到底为什么不起作用。我创建了一堆区域配置管理器(测试、UAT、产品博士等),然后我右键单击我的 web.config 并添加了配置转换,填写了相关文件。

现在,当我为一个区域构建部署包并将其导入另一台机器时,它只会复制 web.test.config 或任何文件。有谁知道我做错了什么?

帮助?!

乔什

0 投票
4 回答
14843 浏览

msbuild - 自动慢速 Cheetah 构建方法

我不想在所有构建服务器上安装 Slow Cheetah。

我们正在使用 Slow Cheetah 进行配置转换,它工作得非常好。它会生成多个 app.config 文件,我们会根据需要对它们进行更改。

我们已经设置了几台服务器。他们都有自己的代码存储库,他们从命令行提取代码并相应地构建包。这些代码中有那些配置文件。但是,当我们从命令行编译应用程序时,如果没有安装慢 cheetah,则不会通过转换生成包。否则它工作正常。

我们永远不知道何时设置了新服务器和新用户,因此不可能在每个人上都安装 Slow cheetah

有可能以某种方式在应用程序中使用慢 cheetah dll 并从中手动调用转换方法吗?

谢谢

0 投票
7 回答
26093 浏览

xml - SlowCheetah 没有在构建时转换文件

我有一个项目正在尝试使用 SlowCheetah。我已经在构建配置中创建了我的配置文件 (Test.web.config) 和我想要使用的所有转换 (Debug_Mock.config、Debug_SQL.config、Release) 我有一个构建后事件应该复制转换后的文件进入另一个目录,但找不到该文件

(错误 xcopy 以代码 4 退出)

SlowCheetah 似乎没有像我预期的那样转换文件并将其放在输出目录(bin 文件夹)中。有没有人知道为什么它没有发生,也许是某个地方的设置?

仅供参考:此过程适用于具有相同项目的另一台机器。据我所知,同样的设置也是如此。但我可能没有找对地方。

0 投票
1 回答
1367 浏览

ef-code-first - 实体框架 CodeFirst 迁移,运行迁移,可选择升级到最新更改

我们正在运行带有Code FirstMigrations Enabled的Entity Framework 5。使用数据库初始化程序运行:MigrateToLatestVersion

我们有几个客户在最新的稳定分支上运行。当我们在主干/主服务器中开发新代码时,我们有时需要连接到在分支代码 fx 上运行的客户数据库。调试某种数据错误。

如果有人忘记切换到客户正在运行的分支,这可能是“危险的”,因为迁移将升级客户数据库以适应该人正在运行的任何代码。

一种解决方案是运行另一个不会迁移到最新版本的初始化程序。但是,当我们为新客户部署新系统或新加入团队并且需要启动并运行时,这将意味着更多的工作。

我们正在考虑通过在 app.config 中设置一个 bool 来设置代码是否应该“迁移到最新版本”,然后始终将其设置为 false 以进行开发,然后在部署给客户时对其进行转换来解决这个问题。

这样一来,我们仍然可以将数据库自动更新到最新版本,但不会有开发人员意外连接到旧版本代码系统以及迁移破坏该数据库的危险。

所以现在我们有了这个,我们基本上需要检查这个:

(简化代码)

我的问题是关于如何在不运行迁移的情况下检查数据库是否存在,但我发现你可以这样做:

但是,如果我只MigrateToLatestVersion在数据库不存在或从包管理器控制台手动运行 Update-Database 时运行初始化程序。

我有两个问题,首先:如果我的模型与数据库不同,我不再收到异常,我仍然希望。第二:它不运行位于我的 MigrationConfiguration 中的种子方法,我可能仍想运行该方法。

关于我如何仍然可以运行 Migrations Initializer 以获得所有好处的任何建议,但仍然有一些东西可以防止有人意外破坏我们的生产环境?

0 投票
1 回答
52 浏览

visual-studio - 应用配置转换

抱歉这样的问题,但我花了太多时间在上面。我有一个 app.config 文件:

如何通过配置转换更改“值”,我尝试了以下方法,但没有任何改变:

我究竟做错了什么?