2008-12-15 27 views
3

我通常使用MSBuild構建我的解決方案,以保持Visual Studio的響應並節省一點時間。現在,我在命令行運行的是非常簡單的:使用MSBuild的新版本不包括新類

MSBuild.exe /m "C:\MyProject\MyProject.sln" 

到目前爲止,這工作得很好。但是,今天我添加了一個類到一個類庫項目,該項目的DLL是通過應用程序中的反射加載的,我無法創建新類的對象。我在調試器中查看了我加載的DLL中包含的類型,並且我的新類型不存在。我用Reflector得到了同樣的結果。

當我最終回到IDE,右鍵單擊該項目,並選擇「重建」,我的新類型出現在反射器。

是否有一些設置或命令行標誌,我可以在MSBuild中設置以確保每次都捕獲新的更改?

回答

3

這可能聽起來像一個愚蠢的問題,但你確定新的類文件被保存?重建通常會自動保存所有文件,而MSBuild則不會。

+0

在這種情況下,也可能是項目文件未保存。 – 2008-12-18 23:43:30

1

我發現歷史上MS IDE並不總是保存項目和解決方案文件,當你問它......這可能對問題有一定的影響,但也許沒有。

然而,也許它只是作爲這樣簡單:

嘗試增加/噸:重建

MSBuild.exe /米 「C:\ MyProject的\ MyProject.sln」/噸:重建

0

嘗試在msbuild命令行調用中指定「ReBuild」。

的msbuild /噸:重建/ P:配置=調試

季節的味道。

1

原來是未保存的文件問題。它實際上並不是新的類文件;該文件已保存。這是在IDE中添加新類文件後未保存的.csproj文件。如果我點擊了「全部保存」或突出顯示了項目並單擊了「保存」,MSBuild就可以正常工作。