Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发布时转换xml Web.config_C#_Asp.net_Web Config - Fatal编程技术网

C# 发布时转换xml Web.config

C# 发布时转换xml Web.config,c#,asp.net,web-config,C#,Asp.net,Web Config,我试图使用TransformXml任务一次性转换所有配置,而不考虑在VisualStudio中选择的构建配置。我可以通过编辑.csproj文件来完成它,下面就是它 <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/> <Target Na

我试图使用TransformXml任务一次性转换所有配置,而不考虑在VisualStudio中选择的构建配置。我可以通过编辑.csproj文件来完成它,下面就是它

    <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
<Target Name="TransformWebConfig"  AfterTargets="AfterPublish">
    <TransformXml Source="$(SolutionDir)WCFServices\Web.config" 
              Transform="$(SolutionDir)WCFServices\Web.Release.config" 
              Destination="$(OutDir)WebRelease.config" 
              StackTrace="true" />
</Target>

这里的问题是,当我进行发布时,转换后的配置文件被放置在输出目录中,但这发生在删除操作之前。我需要在删除操作后转换配置


请注意MSBuild和VSBuild不一样

还有

您是否已验证文件是否在预期时间转换?在transformxml调用之前添加一条
,然后在此调用之后添加另一条不同文本的消息
完成自定义转换。
这直接说明了您希望做一些涉及专业出版目标的事情

常规msbuild调试信息:

希望此行为依赖于msbuild而不是VSBuild,因为这两个生成过程不同。如果您运气好,并且这与MSBuild遵循的行为相同,则MSBuild调试过程将遵循以下行为:

与msbuild中的任何神奇行为一样,在
CSProj
文件中查找任何
import target=
code并找到这些文件。按照这些步骤进行操作将引导您找到正在对此做出决定的部分

还可以将VS的调试器附加到构建过程-+

另外,在临时启动构建详细信息时