首页 文章

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

提问于
浏览
0

我很擅长.NET配置转换 . 我现在将它们放在用于数据使用的类库和WPF应用程序上 .

但是,当我尝试使用ASP.NET WebAPI项目进行设置时,似乎发生了一些奇怪的事情 .

配置文件永远不会显示在我的bin目录中,因此web.config始终显示为预先形成的配置文件 .

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

CollectWebConfigsToTransform:Found for Config tranformation:Areas \ HelpPage \ Views \ Web.config,Web.config,Views \ Web.config,bin \ Web.config PreTransformWebConfig:将Web.config复制到obj \ Test \ TransformWebConfig \ original \ Web.config,File obj \ Test \ TransformWebConfig \ original \ Web.config是最新的跳过复制C:\ Users \ killesj1 \ Repositories \ MRP Trunk \ Macro Projects \ VEUploader \ src \ app \ VEUploader.WebAPI \ Web . config to obj \ Test \ TransformWebConfig \ original \ bin \ Web.config,File obj \ Test \ TransformWebConfig \ original \ bin \ Web . config是最新的TransformWebConfigCore:跳过目标“TransformWebConfigCore”,因为所有输出文件都是相对于输入文件是最新的 . TransformWebConfigCore:跳过目标“TransformWebConfigCore”,因为所有输出文件都是相对于输入文件的最新文件 . PostTransformWebConfig:使用Web.Test.config将Web.config转换为obj \ Test \ TransformWebConfig \ transformed \ Web.config . 使用C:\ Users \ killesj1 \ Repositories \ MRP Trunk \ Macro Projects \ VEUploader \ src \ app转换C:\ Users \ killesj1 \ Repositories \ MRP Trunk \ Macro Projects \ VEUploader \ src \ app \ VEUploader.WebAPI \ Web.config \ VEUploader.WebAPI \ Web.Test .config进入obj \ Test \ TransformWebConfig \ transformed \ bin \ Web.config .

似乎转换正在转换文件,但不知何故它没有回到bin目录,旧的Web.config仍然存在 .

这是正常的吗?我如何才能使其行为与其他网络转换类似?

2 回答

  • 0

    我有一个类似的问题,在Appveyor上部署没有被转换的测试项目,并按照下面的链接中的建议,现在一切都很好 . 我已将所有项目设置为在[Target Name =“AfterBuild”]中进行xxx.config转换,并且它在我的本地开发机器上完美运行,但是在将代码推送到Appveyor时,由于未转换的文件等,测试将失败基本上,将所有内容移动到[Target Name =“BeforeBuild”]并查看是否有帮助 .

    MSBuild - how to force "AfterBuild" target when I do deployment?

  • -1

    web.config通常位于根目录中,不会复制到bin子文件夹 . 要应用转换,您需要使用一些模板web.config并将其转换为root web.config . 例如 . 见https://stackoverflow.com/a/16239488/52277Use Visual Studio web.config transform for debugging

相关问题