Dot-Net

在 VS2008 中根據配置排除整個文件

  • August 27, 2010

我的項目有三種不同的配置,這三種配置都不需要將所有文件都建構到應用程序中。實際上,如果我可以從建構中排除這些文件,我更願意這樣做,這將使我的應用程序更輕量級。

我正在尋找的是#if MYCONFIG#if DEBUG聲明,但文件。我已經讀過這可以通過手動編輯 csproj 文件來完成,但是我再也找不到了……還有其他方法嗎?

有兩種不同的方式: 在您的 csproj 文件中,您將擁有如下所示的部分:

<ItemGroup>
   <Compile Include="Helper.cs" />
   <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

您可以做的是設置一個新的項目配置(建構菜單,配置管理器,從活動解決方案配置下拉列表中選擇新建),然後手動將 ItemGroup 節點更改為:

<ItemGroup Condition=" '$(Configuration)' == 'MyNewConfiguration' ">
   <Compile Include="Helper.cs" />
   <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

正如您在問題中提到的,第二種方法是使用條件調試符號。在文件的頂部,有聲明

#if MYDEBUGSYMBOL

底部有

#endif

然後你可以定義調試符號;右鍵點擊您的項目文件,選擇Properties,轉到Build選項卡,然後在**Conditional compilation symbols文本框中輸入調試符號。

我可能會堅持第一種方法。

引用自:https://stackoverflow.com/questions/2370353