首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET合并\生成时覆盖多个项目\部署

ASP.NET合并\生成时覆盖多个项目\部署
EN

Stack Overflow用户
提问于 2011-05-26 08:48:54
回答 1查看 534关注 0票数 1

我有几个ASP.NET MVC项目,它们都需要访问相同的配置文件集。因为我有多个配置文件需要共享,所以最好不要有多个副本。

使用Maven3,我可以在构建时将单独的J2EE webapp覆盖在其他web应用程序之上,这样我就可以创建一个只包含配置文件的项目,并将其组合到每个单独的web应用程序项目中。

有没有办法使用MSBuild或任何其他.NET构建工具来实现这一点?

我唯一的解决方案是使用build事件将文件从一个项目复制到其他项目中,但是当通过MSBuild创建部署包时,它只打包属于项目的文件,而忽略文件夹中的任何其他文件。

我的最终目标是将这些配置文件包含在使用msbuild /t:Package生成的部署项目中(这些项目最终将部署到IIS7中,希望它们具有所需的一切内容)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-26 10:10:04

我找到了解决我的问题的办法。

  • 我将我的配置文件放在某个共享项目的文件夹中。右键单击配置文件,然后选择Properties.
  • Ensure Build Action is Content Copy to Output is Copy Always
  • Reference "Shared

“ "Main Project1” "Main Project2“

现在,当构建“主项目1”和“主项目2”时,也将构建它们的引用项目(“共享项目”),并将配置文件发布到/bin目录。

要访问这些配置文件:

代码语言:javascript
复制
string configPath = HttpRuntime.BinDirectory + string.Format(@"ConfigDirectory\{0}.config", someConfigFileName );

然后,您可以使用以下命令读取此配置文件(假设它采用标准的.NET配置格式):

代码语言:javascript
复制
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap
            {
                ExeConfigFilename = configPath
            };
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

var settings = ((AppSettingsSection)config.GetSection("appSettings")).Settings;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6132610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档