Frage

Ich habe eine ASP.NET-Anwendung, die auf einem externen Montag stützt, die nicht in dem GAC ist. Die App hat eine .refresh Datei, die kopiert die Baugruppe in das Verzeichnis ist, wenn die Anwendung kompiliert wird.

Wenn ich die App auf einem Produktionsserver installieren (indem Sie die App-Dateien in ein virtuelles Verzeichnis kopiert) wird das Verzeichnis ist nicht automatisch durch das Vorhandensein der .refresh Datei aktualisiert, wie ich dachte, es würde. Ich habe versucht, das aspnet_compiler Tool aber das nicht funktioniert, da es die Baugruppen erwartet bereits im bin-Verzeichnis sein.

Wie erhalte ich .NET die App-bin-Verzeichnis ohne Visual Studio zu aktualisieren?

War es hilfreich?

Lösung

Die .refresh Dateien gibt es einfach so, dass VS weiß, dass es den Überblick über die Originale behalten sollte, und wenn sie sich geändert haben, eine neue Version auf den / bin-Ordner kopieren. Sie sind Text nur Dateien mit einem Pfad zum Original -. Das Änderungsdatum wird für den Vergleich herangezogen

Wenn Sie sagen:

  

Wenn ich die App auf einem Produktionsserver installieren (indem Sie die App-Dateien in ein virtuelles Verzeichnis kopiert) wird das Verzeichnis ist nicht automatisch aktualisiert.

Was genau meinst du damit? Kopieren Sie nicht auch den Inhalt des bin-Verzeichnis auf dem Produktionsserver? Sie müssen alle abhängigen Baugruppen mit der Anwendung bereitstellen.

Andere Tipps

Löschen des Cache-Verzeichnis von asp.net helfen könnten:

C:\WINDOWS\Microsoft.NET\Framework\
FRAMEWORK_VERSION\Temporary ASP.NET Files\YOUR_APP_NAME

diese .refresh Dateien löschen.

Machen Sie einen einfachen Build-Skript (mit was auch immer Sie wollen, cmd, NAnt, Rechen, psake ...), dass:

  • kopiert die Dateien auf Ihre asp.net app Ordner
  • bauen Sie asp.net app.

Oder Sie können Ihre CSPROJ Datei bearbeiten und fügen Sie so etwas wie:

<ProjectExtensions>
  <PropertyGroup>
    <PreBuildEvent>copy c:\path\to\dll\files $(ProjectDir)$(OutDir)</PreBuildEvent>
  </PropertyGroup>
</ProjectExtensions>

Dies wird eine Pre Build Aktion hinzufügen, die Ihre DLL-Dateien mit dem Ausgang dir Ihrer asp.net app kopiert. Sie werden es mit MsBuild bauen müssen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top