2009-10-27 18 views
5

Dokonałem względnie prostej zmiany kodu źródłowego MVC 1.0, aby poprawić błąd w DropDownList HtmlHelper (discussed in another question).Instalowanie zmodyfikowanej wersji programu ASP.NET MVC

Udało mi się przebudować rozwiązanie MVC, uruchomiłem wszystkie testy, w tym ten, który dodałem, aby pokazać błąd, który naprawiałem i zbudowałem nową bibliotekę DLL.

Ale jak mogę tego użyć?

Próbowałem przenieść nową bibliotekę DLL MVC do projektu i zmienić wszystkie referencje projektu, aby wskazywały na nią, ale kiedy próbuję uruchomić witrynę MVC, to rzuca wyjątek mówiąc, że istnieje konflikt między moją wersją MVC i MVC w GAC.

Próbowałem użyć Gacutil.exe usunięcie jednego z GAC, ale mówi, że nie może tego zrobić, ponieważ miałoby to inny program (instalator Microsoft? Niepowodzeniem.

Co mam zrobić, aby zainstalować mój nowo zbudowany wersji zamiast „oficjalnej” wersji?

Odpowiedz

9

Jeśli chcesz go usunąć z GAC bez odinstalowywania MVC (w tym szablony Visual Studio, których prawdopodobnie potrzebujesz), musisz to zrobić w rejestrze:

  • Znajdź klucz rejestru HKEY_CLASSES_ROOT \ Installer \ zwoje \ Globalny i szukać klucza zaczynające System.Web.Mvc - usuń to

Teraz powinieneś być w stanie korzystać Gacutil.exe usunąć System. Web.Mvc z GAC i powinieneś być w stanie używać swojej wersji z katalogu/bin.

+0

Dzięki, Jono, udało się. –

+0

OK, to powoduje, że MVC wyskakuje z GAC i łagodzi konflikt, ale nadal mam części kodu próbującego załadować tę wersję. W szczególności BuildManger.CreateInstanceFromVirtualPath zgłasza wyjątek mówiąc, że nie może załadować wersji MVC 1.0.0.0, token publiczny = ... definicja manifestu nie pasuje do odwołania do zespołu " Wziąłem odniesienie do zestawu z sieci. config i zastąpił go ogólną "add name =" System.Web.Mvc "(bez szczegółów). Czy potrzebuję ponownego zamówienia, czy coś innego? Co jeszcze muszę zrobić, aby zaakceptować nowe –

+0

Okay, mam to. Zmieniono odniesienia do zestawu w głównym pliku web.config, ale pominąłem fakt, że folder View zawiera w sobie plik web.config i miał kilka w pełni kwalifikowanych referencji, które miałem Aby to zmienić, raz to zrobiłem, to zadziałało –

0

Jak o zmianie numeru wersji podczas kompilowania zmodyfikowanej ramy MVC?

Powiązane problemy