C# 预构建操作

C# 预构建操作,c#,rider,C#,Rider,作为构建过程的一部分,我需要在预构建时替换c#项目中的一些代码。我希望在.csproj文件中可以指定一些钩子。我用的是Rider。这篇文章似乎是关于我需要的,但是我不知道如何在.csproj中使用它 如何在c#中指定预构建操作?您可以在csproj中定义预构建目标以运行命令。例如,我有一个PS脚本想要运行: <Target Name="BeforeBuild">

作为构建过程的一部分,我需要在预构建时替换c#项目中的一些代码。我希望在
.csproj
文件中可以指定一些钩子。我用的是Rider。这篇文章似乎是关于我需要的,但是我不知道如何在
.csproj
中使用它


如何在c#中指定预构建操作?

您可以在csproj中定义预构建目标以运行命令。例如,我有一个PS脚本想要运行:

<Target Name="BeforeBuild">                                                                    
   <Exec Command="$(PowerShellExe) -NonInteractive -executionpolicy Unrestricted 
             -command &quot;&amp; invoke-command -scriptblock { 
                      &amp;&apos;$(ScriptLocation)&apos; 
                      &apos;$(LogFileLocation)&apos;  
                      &apos;$(MSDeployComputerName)&apos;}
                      &quot;"/>    
</Target>


请参见。

.csproj
中,您可以添加以下内容:

<PropertyGroup>
    <PreBuildEvent>start %25comspec%25</PreBuildEvent>
</PropertyGroup>

启动%25comspec%25
在这种情况下,这只会启动cmd窗口,但您可以替换它。也可以将其放置在要使用的特性组中。 看


我还想特别注意一下。当您想要替换调试代码时,它只应该出现在调试环境中,并且是静态替换,这会更容易。

这是否回答了您的问题?