2009-03-21 16 views
7

Birkaç Denetim Cihazı ile bir .Net Kitaplığı oluşturmaya çalışıyorum ve bunları birden çok web projesinde yeniden kullanmak istiyorum.Gömme Dosyaları ikili kaynak içinde görüntüle Kaynağı

Yarım yoldan geçiyorum ama sorun şu ki, kütüphaneyi yeni web projesine eklediğimde, tüm ilgili görüntü dosyalarını ayrı ayrı yeni projeye kopyalamam gerekiyor. Kütüphaneyi her güncellediğimde, adımları tekrarlamam gerekiyor.

Herhangi bir yol var mı, dll içerisindeki dosyaları kaynak olarak göster ve gömülü bir kaynak olarak "Görünüm()" işlevine ilet. Ne ben başarmak istediğim

, ben kolayca (tek dll dosyası

olarak OneWay kitaplığı/dağıtmak yönetebilir, böylece ben zaten bulduk, kontrolör ve tek dll dosyası içinde gelen görüşlerini koymak istiyorum , IView Arayüzü ile özel bir görünüm sınıfı yaratıyor ve çıktıyı doğrudan HTML Çıktı Yazıcısı'na yazarak oluşturuyor, ancak View dosyasını kullanmayı tercih ediyorum.)

cevap

7

Phil Haack, bir kaç gün önce muhtemelen size yardımcı olabilecek bir blog post10 gönderdi; Görüşleri ve yakutları işlemek için bir veri tabanı kullanıyor, ama prototipini alıp ayrı bir derlemede saklanan görüşler için oldukça kolay bir şekilde çalışabileceğinizi düşünürdüm.

Sadece kod aracılığıyla hızlı bir bakış ve sihirli sos VirtualPathProviderViewEngine (örneğin "RubyViewEngine" sınıfına bakın) uygulayarak ViewEngine'nizi ViewEngines.Engines Koleksiyonuna ekleyeceğinizi düşünüyorum (bkz. Global.asax.cs) .

0

WebFormView türü sonunda BuildManager.CreateInstanceFromVirtualPath öğesini çağırır. BuildManager'da bir sanal yoldan ziyade bir akıştan girdi almak için bir aşırı yükleme veya başka bir işlev yoktur. Bu nedenle, IView'i kendiniz uygulamak istemiyorsanız, dosyaları Diske açmak için BuildManager tarafından derlenebilmesi gerekir. DLL'nizi tek bir dosya olarak dağıtabilirsiniz, ancak BuildManager'ın bunları derlemesi için aspx dosyalarının üretilmesi gerekir. Detaylar için bakınız BuildManager help.

2

Bunun için muhtemelen bir VirtualPathProvider kullanabilirsiniz. CodePlex üzerinde VB.NET XML Değişmez projesini kullanarak

0

Kontrol dışarı ASP.NET MVC Görüntüle Motor

Başlangıçta Microsoft'ta ASP.NET için PUM olan Dimitri Robsman tarafından tasavvur özel görünüm motorudur http://vbmvc.codeplex.com . Her görünüm bir VB.NET sınıfıdır ve Görünümler (dosya yolu yerine) Denetleyicilere Görünümleri bağlamak için kullanılır. ASPX görüntüleme dosyalarınızın içeriğini bu VB sınıflarındaki XML editörlerine kopyalamak oldukça basittir. Ve sınıflar olarak, herhangi bir ek çaba sarf etmeden montajda toplanırlar.

Denetleyicileriniz C# ise, büyük olasılıkla 2 DLL ile sonuçlanırsınız, ancak Scott Hanselman'ın C# ve VB'yi aynı derlemede birlikte yaşamak için bir blog yazısı vardır.

İlgili konular