【发布时间】:2012-05-07 03:34:48
【问题描述】:
在 Visual Studio 中运行时,我想用转换后的调试配置文件替换 web.config(我对将项目发布到某个输出目录不感兴趣)。我想将原始 web.config 保留在 TFS 中 Web 应用程序的根目录中,但在运行时(在 IIS 或 Cassini 上)我想使用转换后的调试版本。
到目前为止,我发现的最佳方法(在 Use Visual Studio web.config transform for debugging 和 ASP.NET Web Projects: web.debug.config & web.release.config 中)是将 web.template.config 用作主文件,并将 web.config 用作派生的转换文件。 我对此并不完全满意,因为开发人员习惯将 web.config 视为主文件。
我有一个想法,将转换后的文件输出到 ASP.Net 临时文件目录,ASP.NET 用于缓存文件。
ASP.NET 是否使用临时缓存文件夹中的 web.config 文件? ASP.NET 是否允许缓存目录中的 web.config 文件与原始文件夹中的 web.config 不同?
我找到了一些与 ASP.Net 临时文件目录相关的属性。 CompilationSection 的 MSBuild tempDirectory property 可用于替换 ASP.Net 临时文件的根文件夹。 ClientBuildManager.CodeGenDir 属性允许访问当前缓存所在的特定文件夹。
但是我找不到,如何从 MSBuild 访问文件夹的路径,它是否允许我将转换后的 web.config 输出到缓存文件夹。
任何建议/考虑将不胜感激。
【问题讨论】:
-
我已经在问题中解释了,为什么来自stackoverflow.com/questions/3922291/… 的 web.template.config 解决方案并不理想,我的问题是是否可以使用 asp.net 临时文件夹。
标签: asp.net visual-studio web-config visual-studio-debugging