2014-01-07 140 views
1

我在MVC 4,其中包含樣式束,腳本,一個用戶控制系統,一個共同的「內核」我所有的項目(微調,以我的需求)等ASP MVC 4分割在幾個項目

我希望將這個作爲「模板」用於所有新項目,但同時我希望它能夠在所有項目中更新。

所以想象我有5個項目,我使用的是Bootstrap 2,現在Bootstrap 3出來了,我只想在我的基礎(「內核」)項目中更新它,並看到所有項目中的變化使用它。

我該怎麼做?

現在,我想到的唯一想法是有一個基礎項目,並打開它爲每個新項目和另存爲...新,但不會完成「更新」部分。

+0

請參閱[在多個asp.net mvc 3項目之間共享視圖,css,javascript](http://stackoverflow.com/questions/15506811/sharing-views-css-javascript-between-multiple-asp-net-mvc -3項目),[在ASP.NET MVC 3 Web應用程序項目之間共享視圖](http://stackoverflow.com/questions/6430571/sharing-views-between-asp-net-mvc-3-web-application-項目),[MVC4託管從其他MVC項目的意見](http://stackoverflow.com/questions/16241039/mvc4-hosting-views-from-other-mvc-project)或只是在網上搜索「asp.net mvc共享項目「。 – CodeCaster

回答

2

創建您自己的nuget存儲庫並在其中放置常用位。 Nuget包不需要是* .dlls,它們可以包含任何文件和PowerShell腳本。更新軟件包可能意味着更新~/Views/Shared/_Layout.cshtml

如果您創建了許多具有相同結構的新項目,則可以創建一個自定義Visual Studio項目模板。

當我試圖讓「更新一個dll從bootstrap 2到3」時,我不會走得太遠,因爲你無法預測外部庫的代碼/標記如何改變(例如icon*的css類到glyphicon*)。您必須爲所有Bootstrap組件創建HtmlHelpers,以防止它們與下一個版本打破。

2

而不是有5個獨立的項目,你可能只有一個與多個領域(包括你的「內核」)。通過這種方式,重用「內核」區域的功能將變得更加容易,並且同時僅維護其中的一個實例。更多地區:Walkthrough: Organizing an ASP.NET MVC Application using Areas

作爲一種替代方法,在this的答案,作者提到MVCContrib Portable areas作爲一種可能的解決方案。

希望這會有所幫助。

+0

謝謝,但是......我在每個項目中都有不同的合作者,我不想與他們分享剩下的代碼(只有內核)......每個項目都非常不同......所以我會喜歡把它分開,有可能嗎? –

+1

@VicençGascó也許那麼可行的解決方案可能是使NuGet軟件包脫離「內核」項目。通過這種方式,協作者可以隨時更新包(如果您不想公開它,您可以將包託管在您自己的NuGet包存儲庫中)。另一個選項(來自相關的SO問題)是使用[MVCContrib便攜式區域](http://lostechies.com/erichexter/2009/11/01/asp-net-mvc-portable-areas-via-mvccontrib/)。 – volpav