簡體   English   中英

Visual Studio宏/其他可以迭代所有項目並設置項目屬性的對象

[英]Visual Studio macro/anything else to iterate through all projects and set project properties

我正在嘗試編寫宏/其他任何東西來遍歷所有項目,並刪除除Active Solution Configuration - DebugActive Solution Platform - x86所有其他構建配置。 同樣,在為所有項目編輯配置后,我想為所有項目設置pre-build post-build事件。 我不知道從哪里開始。 請幫忙。 我喜歡解決方案中的44個項目,手動設置所有這些項目確實非常困難且耗時。

預建活動:

rd /s /q "$(ProjectDir)bin"

建立后活動:

copy "$(TargetPath)" "$(SolutionDir)TOTALOUTPUT\" /y

我無法清楚地理解您的觀點,但請允許我嘗試幫助...

您可以通過單擊以下命令來創建新配置:Build-> Configuration Manager-> New(左上角,有活動的解決方案配置,單擊它,您將看到New選項)將其命名並檢查您要編譯的項目

然后只需解決您的問題,使用Ctrl選擇項目,然后單擊leftclick-> properties VS允許您更改多個項目的屬性,因此您可以輕松地編寫構建后和構建前的事件,它將適用於您選擇的所有項目...

您可以選擇是否將其放在宏中,但是實際上我建議直接轉到.csproj和.sln文件。 在.csproj文件中,它們具有一系列屬性組,這些屬性組指定了構建配置,如下所示:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <PlatformTarget>x86</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

如果您創建一個遍歷所有有問題的.csproj文件的簡單腳本/程序/ etc,並讀取.csproj xml文件。 在瀏覽過程中,您只需確保僅顯示定義配置的2個PropertyGroup。 這兩個配置將成為您的調試/發布配置。 此外,在同一腳本中,您可以添加構建前/構建后事件,它們只是屬性類型的另一種類型,例如:

  <PropertyGroup>
    <PostBuildEvent>xcopy $(TargetName).* "%25SEARCH1%25"\bin\ /i /y</PostBuildEvent>
  </PropertyGroup>

注意:最好在關閉Visual Studio時將其作為腳本而不是作為宏來執行此操作,但是我認為沒有任何理由將其簡單地包裝到宏中也不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM