2011-06-29 74 views
1

我覺得這是一個很可能已經被回答的問題,但我很難找到它。也許,把它弄糊塗成糟糕的搜索條件。從Visual Studio創建CSC電話配置

我一直在Visual Studio 2005 Professional工作大約一個月,到目前爲止,我一直在使用內置的編譯機制,主要是默認設置(我唯一改變了任何實際頻率是構建路徑)。但是,我想要轉向使用更多自動化構建技術。爲此,我想切換到使用csc而不是打Ctrl-Shift-BF5,以便我可以包含構建腳本和其他工具(如NAnt)中的行。

我的問題是,Visual Studio或任何第三方工具是否提供了一種以編程方式將編譯設置VS轉換爲與其等效的csc?舉例來說,如果我有一個名爲SampleProject與Output type:字段設置爲Windows應用程序項目,它看起來是這樣的:

csc /output:winexe /target:SampleProject.exe *.cs 

我知道它通常並不難手工工作了這一點,但如果有一個自動將它們拉到一起的方式,它會更好。

+0

研究MSBUILD。此外,請說出您正在使用的是哪個版本以及Visual Studio的哪個版本。例如,Visual Studio 2010 Professional? –

+0

@John感謝您的建議 - 我現在開始閱讀關於MSBuild的內容。我使用的是VS2005 Pro,我更新了該文章以反映這一點。 – asfallows

回答

1

基於VS2010,但類似的應該對其他版本的工作:

工具>選項>項目和解決方案>生成和運行

更改「MSBuild項目生成輸出的詳細程度」爲「Normal」(或更高)

生成,並調出輸出窗口(CTRL瓦特ö)。

更改下拉到「從顯示輸出」,「建設」

你應該可以看到一個指示csc線。注意這是而不是真的是它執行的;這是一個幸福的謊言。 IIRC它實際上是直接執行的,並且在某些情況下它輸出的內容不是,相當於與您需要的相同。

+0

我測試了這個,就像你說的那樣。但是有些東西讓我感到驚訝,比如:'/ reference:c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ System.dll' - 我期望這樣的事情是CSC會自動知道的事情,而不需要提供參考。 – asfallows

+0

@kaldrenon @你確實沒錯; p實際上,在後來的版本中這很方便,因爲你可能使用C#4.0編譯器,但是面向.NET 2.0,所以你仍然需要告訴csc哪個版本的System。 dll使用。雖然VS2005不是問題 - 你可以放棄這些,它確實會使用默認值(除非你禁用它們) –