WebAPI 项目似乎没有将转换后的 web.config 发布到 bin 文件夹?



我在.NET配置转换方面做得很好。我现在已经在一个用于数据使用的类库和一个WPF应用程序中安装了它们。

然而,当我试图用ASP.NET WebAPI项目设置它们时,似乎发生了一些奇怪的事情。

配置文件从未显示在我的bin目录中,因此web.config始终显示为预先形成的配置文件。

如果我在csproj上运行参数为"/t:TransformWebConfig/pConfiguration=Test"的MSbuild,我会看到以下内容:

CollectWebConfigsToTransform:找到以下配置信息:区域\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\Repository\MRP Trunk\宏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.configobj\Test\TransformWebConfig\transformed\Web.config.transformedC: \Users\killesj1\存储库\MRP中继\宏Projects\VEUploader\src\app\VEUploader.WebAPI\Web.config使用C: \Users\killesj1\存储库\MRP中继\宏Projects\VEUploader\src\app\VEUploader.WebAPI\Web.Test.configobj\Test\TransformWebConfig\transformed\bin\Web.config.

转换似乎正在转换文件,但不知何故,它没有返回到bin目录,旧的Web.config仍保留在该目录中。

这正常吗?我该如何使其行为与其他web转换类似?

我遇到了类似的问题,在Appveyor上部署了没有转换的测试项目,并遵循了下面链接中的建议,现在一切都很好。我把所有的项目都设置为在[Target Name="AfterBuild"]中进行xxx.config转换,它在我的本地开发机器上运行得很好,但在将代码推送到Appveyor时,由于未转换的文件等原因,测试会失败。基本上,把所有内容都移到[Target Name="BeforeBuild"],看看这是否有帮助。

MSBuild-如何强制";AfterBuild";我部署时的目标?

web.config通常位于根目录中,不会复制到bin子文件夹中。若要应用转换,您需要一些模板web.config并将其转换为根web.config。例如,请参阅https://stackoverflow.com/a/16239488/52277和使用Visual Studio web.config转换调试

最新更新