2011-04-11 94 views
0

我在vs2010中有一個C#項目,它有幾個構建選項(調試,發佈,調試x86,調試我剛剛得到一個新帽子等),因爲有些人在添加項目時已經過度了。如何修復vs2010中損壞的構建管理器?

我想所有這一切恢復到剛纔的四個基本構建類型:

  1. 調試86
  2. 發佈86
  3. 調試64
  4. 發佈64

我刪除一個項目,保存sln與該項目明顯不再在解決方案中,然後將其添加回來,但顯然該項目的設置哈已被保存。是否有任何方法可以完全從構建管理器中刪除這些無關的項目,並從頭開始創建新的SLN文件?

解決此問題的動力是解決方案中的某個項目不允許進行x64構建。如果我嘗試爲該項目創建x64構建版,構建管理器將聲明x64構建版已經存在,即使顯然沒有。構建管理器不允許我刪除構建模式,只是添加它們,但是它不會讓我添加x64,這正是我所需要的。

回答

1

最快的方法是在記事本中手動編輯.proj文件,清除所有每個配置的

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NewHat|x64' ">...</PropertyGroup> 

元件。然後通過再次編輯記事本中的.sln文件來最終刪除不需要的解決方案配置。他們很容易發現。 一旦刪除,你應該能夠在VS中打開解決方案,並在配置管理器中設置正確的東西

替代方法是使用宏或VS EnvDTE類來自動執行該過程,但這可能是螺母的大錘。

1

通常我不建議這樣做,但您可能需要記事本或您最喜愛的XML編輯器並更改csproj文件的內容。我不喜歡推薦這種方法的原因是,如果編輯錯誤,最終可能會破壞項目。

顯然你應該在開始之前把所有東西都備份好,這樣如果一切都變成梨形的話,你至少可以回到目前的狀態。

理想情況下,您可以深入瞭解源代碼控制系統,並在未破壞的情況下從後面獲取csproj文件的副本,並將其用作粗略指導,以便爲您的項目創建一個格式良好的csproj文件。

您還可以使用與您的項目相同的模板創建一個全新的C#項目,並使用該項目的csproj文件作爲應該看起來像什麼的另一個指南。

如果幸運的話,您的csproj文件將包含一些PropertyGroup項目,其中一些項目會有一個條件來標識該組適用的特定構建組合。例如...

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> 
    <OutputPath>bin\x64\Release\</OutputPath> 
    <DefineConstants>TRACE</DefineConstants> 
    <Optimize>true</Optimize> 
    <DebugType>pdbonly</DebugType> 
    <PlatformTarget>x64</PlatformTarget> 
    </PropertyGroup> 

如果您刪除不再需要配置的組和刪除任何似乎適用於X64的你可能會發現,構建管理將讓你添加一個64位的配置。