通常,visual studio將輸出文件放入bin/debug或bin/release。將輸出文件重定向到指定文件夾的Visual Studio擴展
當解決方案包含大量項目時,不容易手動修改每個項目輸出。
而且在編輯文件的csproj不理想的,因爲他們中的一些是解決方案之間的共享..
我的問題:是否有人知道一個工具,它可以快速配置輸出路徑?
UPDATE:通過TFS解決我的問題建立
通常,visual studio將輸出文件放入bin/debug或bin/release。將輸出文件重定向到指定文件夾的Visual Studio擴展
當解決方案包含大量項目時,不容易手動修改每個項目輸出。
而且在編輯文件的csproj不理想的,因爲他們中的一些是解決方案之間的共享..
我的問題:是否有人知道一個工具,它可以快速配置輸出路徑?
UPDATE:通過TFS解決我的問題建立
想必你在那是唯一的解決方案是每個解決方案至少有一個項目。在後生成事件中,將每個項目輸出的內容複製到所需的位置。
我們經常爲此使用批處理文件。這很簡單但很有效。在我們的解決方案中獨特的項目中,我們創建了一個Release.bat文件。這包含許多文件副本,以從其他項目的各個輸出目錄中複製所有必需的組件。然後,您可以在後期構建事件中運行該批處理文件。解決方案建立時,我們通常會將所有內容複製到「最新版本」fodler。如果這變成了正確的版本,我們會將Latest Release文件夾重命名爲實際版本號。
如果您有多個構建配置,或者甚至僅使用調試和發佈配置,則可以使用Post-Build事件中的If語句來決定要運行哪個批處理文件。所以你可以創建一個Debug.bat,Release.bat等來執行你所需要的。開始時設置它們並使它們正常工作可能非常繁瑣,但一旦完全實施,它們就非常有用。
轉到解決方案資源管理和卸載通過右鍵單擊一個項目,然後選擇卸載項目:
使用的MSBuild特性,這如果你遵循這些步驟,你可以做自定義您的項目。
然後再次右鍵單擊卸載的項目並選擇編輯項目。這將打開項目的XML定義,並且您將具有智能感知佈局,這將幫助您執行後續步驟。
在Visual Studio編輯找到的第一個的PropertyGroup標籤和添加接近或處於閉合的PropertyGroup標記的末尾這些行:
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<BuildDirectory Condition="$(BuildDirectory) =='' or $(BuildDirectory) == '*Undefined*'">$(SolutionDir)\build\</BuildDirectory>
上面SolutionDir中的msbuild屬性,您可以得到使用此被定義回答:msbuild script using solution information,也檢查了衆所周知的MSBuild特性here
下一步是要找到每個配置的OutputPath標籤並編輯這樣說:
<OutputPath>$(BuildDirectory)\x86\AutomatedDebug\</OutputPath>
上面的示例假定您的目標平臺x86具有名爲AutomatedDebug的配置。
輸出將是爲每個項目
x:\projects\whereever-your-solution-is\build\x86\AutomatedDebug\
重複。
要卸載多個項目,請在解決方案資源管理器中摺疊所有項目並移動單擊或Ctrl點擊以選擇全部或部分項目,然後右鍵單擊選定的組以卸載,但不幸的是,您無法進行編輯至少在視覺工作室2010.
我是第一個承認,這對現有項目來說有點麻煩,但你可以很容易地創建一個視覺工作室項目模板,這些設置已更改,以便新項目將使用更多方便的默認輸出目錄。
由於項目屬性編輯器會轉義任何$()封閉的文本,因此無法直接在visual studio中編輯輸出目錄。
另外,您只能使用$()中所包含的系統環境變量的名稱修改OutputPath。最後一個選項是啓用全局輸出目錄。
如果建立在直接使用的MSBuild在命令行輸出目錄這種方式修改的任何一個項目,你的MSBuild運行將創建以上從一個目錄
..\build\x86\AutomatedDebug
如果你是在一個團隊中,你應該警告他們不要直接手動編輯輸出目錄,因爲此操作將覆蓋任何定製。
希望這個信息很有用。 問候。
謝謝,託比。這正是我們需要的! – devi 2012-02-15 10:19:02