【发布时间】:2013-08-06 20:49:43
【问题描述】:
我在 .NET 配置转换方面做得很好。我现在将它们放在用于数据使用的类库和 WPF 应用程序中。
但是,当我尝试使用 ASP.NET WebAPI 项目设置它们时,似乎发生了一些奇怪的事情。
配置文件永远不会出现在我的 bin 目录中,因此 web.config 始终显示为预先形成的配置文件。
如果我在 csproj 上使用“/t:TransformWebConfig /pConfiguration=Test”参数运行 MSbuild,我会看到以下内容:
CollectWebConfigsToTransform:为 Config 找到以下内容 转换:Areas\HelpPage\Views\Web.config、Web.config、 Views\Web.config、bin\Web.config PreTransformWebConfig:跳过复制 Web.config 到 obj\Test\TransformWebConfig\original\Web.config,文件 obj\Test\TransformWebConfig\original\Web.config 是最新的 跳过 复制 C:\Users\killesj1\Repositories\MRP Trunk\Macro Projects\VEUploader\src\app\VEUploader.WebAPI\Web.config 到 obj\Test\TransformWebConfig\original\bin\Web.config,文件 obj\Test\TransformWebConfig\original\bin\Web。配置是最新的 TransformWebConfigCore:跳过目标“TransformWebConfigCore” 因为所有输出文件相对于输入都是最新的 文件。 TransformWebConfigCore:跳过目标 “TransformWebConfigCore”,因为所有输出文件都是最新的 关于输入文件。 PostTransformWebConfig:已转换 Web.config 使用 Web.Test.config 进入 obj\Test\TransformWebConfig\transformed\Web.config。变身 C:\Users\killesj1\Repositories\MRP Trunk\Macro Projects\VEUploader\src\app\VEUploader.WebAPI\Web.config 使用 C:\Users\killesj1\Repositories\MRP Trunk\Macro Projects\VEUploader\src\app\VEUploader.WebAPI\Web.Test .config 到 obj\Test\TransformWebConfig\transformed\bin\Web.config.
似乎转换正在转换文件,但不知何故,它没有返回到 bin 目录,旧的 Web.config 保留在那里。
这正常吗?我怎样才能让它的行为类似于其他网络转换?
【问题讨论】:
-
我想一个更好的表达方式是“这个没有输出到 bin 目录有问题吗?”当我在 Visual Studio 中进行“预览转换”时,它似乎完美地显示出来。在我在这里等待专业知识的同时,我将编写一个快速方法来查看它是否指的是新值。
-
好的,所以我尝试了一种只返回配置设置的快速方法,看起来它仍在使用未转换的 web.config。不知道为什么除了原始文件的最终副本之外一切都可以正常工作?
标签: msbuild asp.net-web-api web-config web-config-transform slowcheetah