Ich habe eine relativ einfache Änderung an den MVC 1.0-Quellcode vorgenommen, um einen Fehler in der DropDownList HtmlHelper (discussed in another question) zu beheben.Installieren einer modifizierten Version von ASP.NET MVC
Ich war in der Lage, die MVC-Lösung neu zu erstellen, führte alle Tests, einschließlich der, die ich hinzugefügt hatte, um den Fehler zu zeigen, den ich reparierte, und baute eine neue DLL.
Aber wie benutze ich das?
Ich habe versucht, die neue MVC-DLL in das Projekt zu verschieben und alle Projektreferenzen zu ändern, um darauf zu zeigen, aber wenn ich versuche, die MVC-Website zu starten, gibt es eine Ausnahme, es gibt einen Konflikt zwischen meiner Version von MVC und der MVC im GAC.
Ich versuchte gacutil.exe zu verwenden, das eine vom GAC zu entfernen, aber es sagt, es nicht tun, weil es ein anderes Programm machen würde (die Microsoft Installer? Scheitern.
Was muss ich zu tun, um meine neu gebaute Version anstelle der „offizielle“ Version zu installieren?
Danke, Jono, das war es. –
Okay, das bringt MVC aus dem GAC und lindert den Konflikt, aber ich habe immer noch Teile des Codes, die versuchen, diese Version zu laden. Insbesondere löst BuildManger.CreateInstanceFromVirtualPath eine Ausnahme aus, die besagt, dass "MVC Version 1.0.0.0, public token = ... nicht geladen werden kann. Die Manifestdefinition stimmt nicht mit der Assemblyreferenz überein" Ich habe die Assemblyreferenz aus dem Web genommen. config und ersetze es mit einem generischen "add name =" System.Web.Mvc "(ohne die Details). Benötige ich eine Assembly umleiten, oder etwas? Was muss ich noch tun, damit es das neue akzeptiert –
Okay, ich habe es. Ich hatte die Assembly-Verweise im Stamm web.config geändert, aber verpasste die Tatsache, dass der View-Ordner eine web.config enthält, und es hatte einige voll qualifizierte Referenzen, die ich hatte Wenn ich das getan habe, hat es funktioniert. –