我有几个ASP.NET MVC项目,它们都需要访问相同的配置文件集。因为我有多个配置文件需要共享,所以最好不要有多个副本。
使用Maven3,我可以在构建时将单独的J2EE webapp覆盖在其他web应用程序之上,这样我就可以创建一个只包含配置文件的项目,并将其组合到每个单独的web应用程序项目中。
有没有办法使用MSBuild或任何其他.NET构建工具来实现这一点?
我唯一的解决方案是使用build事件将文件从一个项目复制到其他项目中,但是当通过MSBuild创建部署包时,它只打包属于项目的文件,而忽略文件夹中的任何其他文件。
我的最终目标是将这些配置文件包含在使用msbuild /t:Package生成的部署项目中(这些项目最终将部署到IIS7中,希望它们具有所需的一切内容)。
发布于 2011-05-26 10:10:04
我找到了解决我的问题的办法。
“ "Main Project1” "Main Project2“
现在,当构建“主项目1”和“主项目2”时,也将构建它们的引用项目(“共享项目”),并将配置文件发布到/bin目录。
要访问这些配置文件:
string configPath = HttpRuntime.BinDirectory + string.Format(@"ConfigDirectory\{0}.config", someConfigFileName );然后,您可以使用以下命令读取此配置文件(假设它采用标准的.NET配置格式):
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap
{
ExeConfigFilename = configPath
};
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
var settings = ((AppSettingsSection)config.GetSection("appSettings")).Settings;https://stackoverflow.com/questions/6132610
复制相似问题