2012-02-27 38 views
3

我們目前使用RazorGenerator庫爲項目生成預編譯視圖。到目前爲止,我們一直在使用Visual Studio擴展來處理代,這些生成的文件也被提交到我們的存儲庫。RazorGenerator.MsBuild - 從Developer machine到Buildserver實現和諧

由於我們經常必須解決生成文件中的合併缺陷,所以這引起了一點痛苦。考慮到這一點,我已經着手嘗試將RazorGenerator.MsBuild目標庫集成到我們的構建過程中,這樣我們就可以避免將代碼生成的文件存儲在我們的存儲庫中。

到目前爲止,我已經禁用了VS擴展,並且按照需要獲得了構建目標,但是現在我已經失去了對生成文件的智能感知和resharper支持,因爲它們不再是解決方案的一部分。

我想知道是否有其他人在此之前走過這條路,理想情況下,我試圖實現的是使用Build目標生成cs文件,不需要將這些cs文件包含在存儲庫中,並且對生成的文件仍然具有Intellisense/Resharper覆蓋範圍。

有什麼想法?

回答

1

我已經解決了這個問題,爲每個實現我們自己的基類的cshtml模板創建一個空的部分類,這個類實現了RazorGenerator.Templating.RazorTemplateBase

通過這樣做,我們可以訪問所有可公開訪問的屬性和方法,這些屬性和方法使intellisense/resharper開心,並且在構建時生成模板.cs文件,它們爲輸出佈局做了繁重的工作等等。