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

Msbuild WebAPI项目似乎没有将转换后的web.config发布到bin文件夹?,msbuild,asp.net-web-api,web-config,web-config-transform,slowcheetah,Msbuild,Asp.net Web Api,Web Config,Web Config Transform,Slowcheetah,我在.NET配置转换方面做得很好。我现在在一个类库和一个WPF应用程序上安装了它们,用于数据使用 然而,当我试图用ASP.NET WebAPI项目设置它们时,似乎发生了一些奇怪的事情 配置文件从未显示在my bin目录中,因此web.config始终显示为预先形成的配置文件 如果在csproj上运行参数为/t:TransformWebConfig/pConfiguration=Test的MSbuild,我会看到以下内容: CollectWebConfigToTransform:找到以下配置 转换

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

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

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

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

CollectWebConfigToTransform:找到以下配置 转换:区域\HelpPage\Views\Web.config,Web.config, Views\Web.config,bin\Web.config预传输MWebConfig:跳过复制 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.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仍保留在那里


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

web.config通常位于根目录中,不会复制到bin子文件夹。要应用转换,您需要有一些模板web.config并将其转换为根web.config。
例如,请参见和

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


我想一个更好的表达方式是,没有输出到bin目录是否有问题?当我在VisualStudio中进行预览转换时,它看起来非常完美。在这里等待专业知识的同时,我将编写一个快速方法,看看它是否引用了新的值。好的,所以我尝试了一个快速方法,只返回一个配置设置,看起来它仍然在使用未转换的web.config。不知道为什么除了原始文件的最终副本之外,所有的东西都能正常工作?