簡體   English   中英

在不同的Mvc解決方案中使用相同的代碼

[英]Using Same Code in Different Mvc Solutions

我正在使用asp.net mvc 3和.net framework 4.0與C#

假設我有NivoSlider(滑塊)html代碼。 它還有js,css和圖像文件。

我想使用NivoSlider cshtml代碼和js / css / images作為“項目”,我想將它添加到不同的MVC解決方案中。 它將成為一個插件。

我無法將其視為部分視圖,因為我必須將所有css,js和imges文件移動到新的解決方案中。 我看了“mvc區域”,但它沒有渲染我的js和css文件(事實上;使用“區域”並不是一個完美的方式,因為你知道)...我查找了一些基於插件的架構,但沒有 - 他們很容易實現。 我的時間有限。

那么我該如何解決這個問題呢?

編輯:我可以使用這個http://razorgenerator.codeplex.com/ - 但如果你提出一個想法,我正在尋找另一種解決方案......

您可以創建一個私有Nuget並為其創建一個小型安裝。 這樣您就可以直接從包安裝,更新和卸載。

您甚至可以創建在計算機之間復制的本地化程序包。 Nuget有一種非常簡單的方法來指定要將文件提取到的位置,以及要提取的文件。

我在一個商業項目中使用剃刀生成器,它功能齊全,但並不理想。

我考慮的其他可能性是添加文件作為鏈接(參見無名者的回答)

還要覆蓋ViewEngine 我可以在ASP.NET MVC中指定“搜索視圖”的自定義位置嗎?

甚至是符號鏈接(Windows中文件夾的快捷鏈接) https://superuser.com/questions/234422/does-windows7-support-symbolic-links-folder-shortcuts

如上所述,Razor視圖可以作為編譯類嵌入到程序集中(通過使用Razor Generator)。 靜態資源如.html,.js,.png可以作為嵌入式資源在匯編中找到,並由應用程序通過VirtualPathProvider提供服務(自定義或使用現有的https://github.com/mcintyre321/EmbeddedResourceVirtualPathProvider

您可以將這些文件包含在Web API項目中,並將它們提供給每個解決方案。 每個解決方案都應包含通過Web API接口使用這些文件的邏輯。

將你的asp.net mvc Razor視圖編譯成一個單獨的dll

我希望能夠在dll中嵌入已編譯的Razor視圖。 這樣可以輕松分發嵌入了默認視圖的asp.net mvc“模塊”,但允許您將文件放在“views”文件夾中以覆蓋這些默認視圖。

http://www.chrisvandesteeg.nl/2010/11/22/embedding-pre-compiled-razor-views-in-your-dll/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM