2009-07-23 5 views
3

Ich muss eine Bin-Bereitstellung auf unserem ISP, Network Solutions. Sie haben NET Framework 3.5 SP1 auf ihren Servern installiert, aber nicht ASP.NET MVC.Wie stelle ich eine ASP.NET MVC-Anwendung bereit, wenn der ISP kein BIN-Verzeichnis verwendet?

Ich muss meine Anwendung auf ein Verzeichnis namens cgi-bin statt bin zeigen. Network Solutions sagt, dass dies das einzige Verzeichnis ist, das für die Ausführung als Medium Trust markiert wurde. Ich muss die System.Web.Mvc DLL und die Anwendungs-DLL dort platzieren, und ich brauche meine ASP.NET MVC-Anwendung, um sie in diesem Verzeichnis zu finden.

Es versteht sich von selbst, dass sie sie nicht in den GAC für mich setzen.

Wie sage ich meiner Anwendung, im cgi-bin-Verzeichnis anstelle des bin-Verzeichnisses für die DLLs zu suchen?


Lösung wird unten veröffentlicht.

+0

Sind Sie sicher, dass sie Ihnen das richtig sagen? Erstellen Leute wirklich ein "CGI-bin" Verzeichnis für ASP.Net Apps? Das ist ziemlich bizarr. – jsight

+0

Das Verzeichnis cgi-bin ist bereits vorhanden. Der ISP weigert sich, ein "bin" -Verzeichnis für mich zu erstellen, das eine mittlere Vertrauenswürdigkeit besitzt, und ich habe keinen ausreichenden Zugriff, um es selbst zu tun. –

+0

Ich vermute, es ist ein Holdover von den Common Gateway Interface Tagen. –

Antwort

7

Nachdem ich für eine Weile bastelte, entschied ich mich schließlich für die Bereitstellung in einem tatsächlichen Bin-Verzeichnis, das ich erstellte (ein Verfahren, das Network Solutions sagt, funktioniert nicht) nach Phil Haacked's instructions genau, und es scheint zu funktionieren.

Ich musste den Routing-Patch anwenden, der in ASP.NET MVC: Default page works, but other pages return 404 error beschrieben wird, da Network Solutions weiterhin IIS6 ausführt.

Für diejenigen, die interessiert sind, können Sie ein anderes Verzeichnis bin in web.config wie folgt angeben:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <probing privatePath="SomeFolder/bin" /> 
    </assemblyBinding> 
</runtime> 

Ich habe versucht, dies mit Network Solution cgi-bin-Verzeichnis und meine Anwendung gefunden haben in der Tat die mvc der dll .

+0

Sehen Sie, wir haben Ihnen gesagt, dass die Support-Person bei Network Solutions nur falsch lag. :) – jsight

+0

Er war nicht der einzige. Das wurde mir von mehreren Unterstützern gesagt. Anscheinend haben sie das Memo nicht bekommen. –

0

Sie sollten in der Lage sein, das Ausgabeverzeichnis oder Ihr Projekt auf cgi-bin zu setzen, wenn Sie möchten. Wenn Sie mit der rechten Maustaste auf Ihr Projekt klicken und auf Eigenschaften klicken. Von dort aus sollten Sie Build in der linken Liste der Optionen auswählen und das Ausgabeverzeichnis auf das einstellen können, was Sie wollen.

+0

Das bin-Verzeichnis ist ein Unterverzeichnis des Ausgabeverzeichnisses. –

-2

Versuchen Sie, zu einem anderen Internetdienstanbieter zu wechseln, der es Ihnen ermöglicht, ein BIN-Verzeichnis als Teil Ihres Anwendungsordners zu haben.

+0

War es so einfach ... –

Verwandte Themen