Deploymentfehler – allowDefinition= ‚MachineToApplication‘


Beim Automatischen Veröffentlichen (Publish) meines MVC Projektes bekam ich folgenden Fehler:

““Einen Abschnitt, der als allowDefinition=’MachineToApplication‘ registriert ist, über die Programmebene hinaus zu verwenden verursacht einen Fehler. Dieser Fehler kann von einem virtuellen Verzeichnis verursacht werden, das nicht als Anwendung in IIS konfiguriert ist.”

Dieser lies sich leicht beheben nach dem ich folgenden Eintrag aus meiner *.csproj Datei des Webprojektes entfernt habe:

“<MvcBuildViews>true</MvcBuildViews>”

Diesen Eintrag hatte ich meinem MVC Projekt selbst hinzugefügt um auch die MVC Views direkt beim Erstellen auf Fehler zu prüfen, siehe Blogeintrag.

Nach einem guten Hinweis von B. ABT habe ich noch einmal etwas Recherchiert und natürlich gibt es mehrere Möglichkeiten, das Problem zu beseitigen. Denn das Attribut “MvcBuildViews” ist beim Compilieren von MVC Projekten mehr als nur hilfreich.

Die zweite Möglichkeit die Fehlermeldung beim Publish und Build zu entfernen, wäre einfach ein Pre-build Event in eurem Webprojekt anzulegen, welches den Ordner “obj” vor jedem Erstellen entfernt.

Dazu einfach folgende Zeile im Pre-build eures Webprojektes einfügen:

rd  /S /Q „$(ProjectDir)\obj“

B. ABT hat mich zwar auch noch auf folgendes Tool hingewiesen: http://wf.codeplex.com/SourceControl/latest dies schien mir aber doch etwas “riskant” und evtl. überdimensioniert für mein Problem. Ist aber ein Cooles Tool wenn man mal schnell nur den Source Code und Projektdateien aus einem Projekt benötigt ohne TFS, Resharper Dateien, ….

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s