gpt4 book ai didi

visual-studio - 不同的配置可以在Visual Studio中管理除web.config之外的文件吗

转载 作者:行者123 更新时间:2023-12-04 03:34:32 25 4
gpt4 key购买 nike

我有一个项目需要为许多不同的客户进行测试和部署,而这些客户有时有不同的需求。
它是一个 MVVC 应用程序,我使用 .net MVC,但仅用于一些零碎的部分,例如一些局部 View 等,其他一切都是使用 knockout.js 的单页应用程序。

所以我有不同的 web.config 文件,但我也有一个包含客户端配置的文件,一个对每个客户都不同的 .js 文件。

现在,如果使用配置管理器在 Visual Studio 中进行不同的配置,我会根据我选择的配置得到不同的 web.config,这是完美的。

但是有没有办法让项目中的另一个文件得到相同的结果?

比如有一个 myfile.nightly.js 和 myfile.debug.js 等等。 (这些文件包含适合每个不同客户的配置设置,例如页面颜色或 Logo 或要隐藏的部分)。

我用预构建事件尝试了这个解决方案:http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx

但这是一个相当不错的职位,我想知道例如 VS2012 是否有更实际的东西

最佳答案

您正在谈论的此功能(在 web.config 的情况下)称为 Xml 转换。不幸的是,Visual Studio 只支持自动转换 web.config 文件,没有别的。

SlowCheetah创建用于转换您选择的其他 xml 文件,但它仅适用于 Xml 文件。例如,您可以将其配置为在每个构建中转换文件(通过自定义 msbuild 任务)。

不过,我不知道有任何转换 javascript 文件的解决方案。

编辑:

也许你可以建立自己的HttpHandler类来提供定制的 js 文件?页面上的 js 文件的链接会指向它,它会为每个客户提供不同的 js 文件,并且切换逻辑将在服务器中。

我仍然觉得这是一个糟糕的解决方案(但我可能会因为 Web 表单而产生偏见),并且理想情况下您会生成已设置此信息的页面,即配置可以在 web.config 文件中,例如,服务器端的 Controller 可以使用这些设置来个性化页面。

编辑2:

行。根据最后的评论,我现在了解到这是静态配置,即它是特定于部署的,并且不会根据同一网站上的用户而改变。考虑到这一点,我觉得这不应该是构建过程的一部分,而是部署的一部分。

我会认真考虑使用部署工具来根据目标环境自定义文件。微软自己的Release Management可以使用内置的工作流事件相对轻松地实现这一点。在发布管道中,您可以根据传递给工作流的任何参数选择所需的 javascript 文件。

关于visual-studio - 不同的配置可以在Visual Studio中管理除web.config之外的文件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com