2010-04-13 8 views
8

Bir ASP.NET MVC 2 web sitesi geliştirdim ve şimdi web sunucuma dağıtmam gerekiyor. ASP.NET kurulmadığı için zaten bazı engellerin üstesinden geldim, ancak şimdi sade içerik dosyalarını sunabileceğim noktaya geldim ve MVC URL'lerimden birini vurmaya çalışırsam şunu elde ederim:ASP.NET mvc 2'yi IIS7'ye nasıl yükleyebilirim?

dosya veya montaj 'Culture = neutral System.Web.Mvc, Sürüm = 2.0.0.0, PublicKeyToken = 31bf3856ad364e35' ya da bağımlılıklarından biri yüklenemedi. Sistem belirtilen dosyayı bulamıyor.

Şaşırtıcı değil, MVC2'yi yüklemediğim gibi. Sorun şu ki, nasıl kurulacağına dair iyi bir bilgi bulamıyorum! umut verici bakmak bunların hiçbiri

Microsoft Download Center listeleri 3 dosya,:

ASP.NET MVC--2-RTM-Yayın-Notes.doc

AspNetMVC2_VS2008.exe

mvc2- ms-pl.zip

Site, dosyaların gerçekte ne olduğunu açıklamakla uğraşmıyor, ancak son dosyanın kaynak kod olduğunu varsayalım. Her neyse, öyle görünüyor. Sürüm notları hiçbir şekilde yardıma ihtiyaç duymaz, çünkü geliştirme makinenize yükleme yapmakla yükümlüdürler ve gerçekten de EXE dosyasının ismi, Visual Studio tümleştirmesi ile ilgili olduğunu açıkça ortaya koymaktadır.

Aslında 'u nasıl bozabilirim?

Scott Gu's blog ile bağlantılı diğer seçenek Microsoft Web Platform Installer'dur. Şimdi, sadece MVC2'den daha fazlasını yüklemek istemiyorum ve zaten kurulmuş olan IIS vb. Var, bu yüzden biraz ağır görünüyor. Ama hepsi akademik, sunucumda çalışmayı reddettiği için, "sisteminiz desteklenmiyor" veya bu etkiyle ilgili kelimeleri söylüyor. (Sunucu Windows Server 2008 Standard SP2'dir, bu yüzden sorunun ne olduğunu gerçekten bilmiyorum).

Yardım!

[Bu kadar zor olması gerektiğini saçma! - kesinlikle bakımlı bir sır ya da belki zor değil hiç ama]

+0

Bunu tahmin ediyorum. Net framework 4.0 bunu sizin için yapacak –

+0

Evet, James haklı. –

+1

@James: Sadece uygulama hedefliyorsa .Net 4.0 (değilse veya farklı bir hata alırsa) – SLaks

cevap

9

Bir MVC uygulamasını dağıtmak için, yalnızca bin klasörünüze kopyalamak için referansları ayarladığınızdan emin olmanız gerekir. Özellikle, bu DLL ... orada olmak

System.ComponentModel.DataAnnotations.dll 
System.Web.Abstractions.dll 
System.Web.Mvc.dll 
System.Web.Routing.dll 

Not gerekir: senin bin klasörüne bir başvuru kopyalanıyor.

  1. referans üzerine sağ tıklayın projenin "referanslar" bölümünün
  2. Seç "Özellikler"
  3. bulun: Uygulamada

    , aşağıdaki adımları izleyerek bunu "Kopya yerel" özelliği ve

LÜTFEN DİKKAT "true" olarak ayarlayın!

System.Web.Abstractions.dll 
System.Web.Routing.dll 

Sadece ihtiyaç bu iki .NET 3.5 SP1 yüklü değil ise - SP1'i yoksa, SP1'in parçasıdır ve MVC tarafından ihtiyaç vardır, bu iki DLL, eklenmesi gerekmektedir yönlendirme için.

+0

@Sohnee: Muhtemelen System.Web.dll (ve Mvc hariç diğerleri), ASP.NET'e sahip olduğumdan beri orada olacak mı? –

+0

@Sohnee: "Referansları kopyalamaya ayarla" ile ne demek istediğini açıklayabilir misiniz? Biliyorum, ama başkalarının yararı için ... –

+0

Merhaba, yerel-yerel bilgileri cevabın altına ekledim.Bunların 5'ini yerel kopyalamak için ayarlamam gerektiğini buldum. – Fenton

1

Kopya System.Web.Mvc.dll geliştirme makineden uygulamanın etmek Web sunucusundaki (veya GAC'ye) bin klasörü.

Bu dosya AspNetMVC2_VS2008.exe dosyasından gelir.

+0

@SLaks: Teşekkürler, eğer o zaman iyi çalışıyorsa. Ama kesinlikle bir "Sistem. *" Dll için "doğru" yer GAC, bu durumda bunun için bir yükleyici veya bir şey olmalı? Dosyayı bu şekilde kopyalamak gibi * çok * haç gibi görünüyor. –

1

Bu dosyaları Sunucu GAC'ye koymanız gerekmez. Yapabilirsin ama gerek yok.

Bu dosyaları sunucudaki /bin dizinine kopyalayabilirsiniz. Aslında, referansa sağ tıkladığınızda Copy Local true değerine ayarlanmışsa, sadece bunu yapar.

Bu dosyada mutlaka referans yolu yapmak gerekir:

System.Web.Mvc.dll

sizin /bin dizinde

.

5

doğru cevap (kolaylık olması için burada yayınlanan) this answer yılında Darin Dimitrov ile verilir:

msiexec /i AspNetMVC2.msi /l*v .\mvc.log MVC_SERVER_INSTALL="YES" 

:

Bir sunucu yüklü Visual Studio gerektirmez hangi yüklemek yapabilirdi Şimdi muhtemelen bu AspNetMVC2.msi'un nereden geldiğini soruyorsunuz. Aslında here'dan AspNetMVC2_VS2008.exe'u indirirsiniz, .exe'u .zip'a yeniden adlandırırsınız ve içinde aradığınızı bulabilirsiniz (mvcruntime alt klasörü).

+0

Sadece küçük bir not: arşivi açtıktan sonra "mvcruntime" alt klasörünü bulmak için ".rsrc_1 \" alt klasörüne gitmelisiniz. – Jehy

1

Web platformu yükleyici aracını çalıştırmak, sunucuları ve geliştirme makinelerini çalıştırmak için harika çalışıyor. Buradan ulaşabilirsiniz ... http://www.microsoft.com/web/default.aspx

+0

Soruma bakın. Bazı nedenlerle sunucumda çalışmaz. –