VS項目Debug|Release包含排除不同技巧,csproj技巧 ...
csproj工程文件中有很多xml格式的屬性,比如PropertyGroup、ItemGroup,某些屬性操作預設是全部的或者是當前編譯條件的而已,當我們想指定某些屬性只在某個編譯條件下發生時就可以通過以下xml屬性來指定:
Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'" 或者 Condition=" '$(Configuration)' == 'Debug' "
例如,Release和Debug都附帶有xml註釋文檔,則這樣解決:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <DocumentationFile>bin\Release\netstandard2.0\XXXX.xml</DocumentationFile> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <DocumentationFile>bin\Debug\netstandard2.0\XXXX.xml</DocumentationFile> </PropertyGroup>
再例如,你Debug運行需要包含項目文件,即“複製到輸出目錄”為“如果較新則複製”/“始終複製”,但是Release或發佈到生產環境時又不希望包含進去(不包含狗血、烏龍的迭代事件就少了),可以這樣做:
<ItemGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <None Update="Assets\Xxxx.key"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>