Visual Studio を使用せずに ASP.NET アプリケーションの参照を更新するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/868559

  •  22-08-2019
  •  | 
  •  

質問

GAC にない外部アセンブリに依存する ASP.NET アプリケーションがあります。アプリには、アプリのコンパイル時にアセンブリを bin ディレクトリにコピーする .refresh ファイルがあります。

(アプリ ファイルを仮想ディレクトリにコピーすることにより) 実稼働サーバーにアプリをインストールすると、.refresh ファイルの存在によって bin ディレクトリが思ったように自動的に更新されません。aspnet_compiler ツールを使用しようとしましたが、アセンブリがすでに bin ディレクトリにあることが想定されているため、機能しません。

Visual Studio を使用せずに .NET でアプリの bin ディレクトリを更新するにはどうすればよいですか?

役に立ちましたか?

解決

VSは、それがオリジナルのトラックを保持し、彼らは変更されている場合は、/ binフォルダに新しいバージョンをコピーする必要があることを知っているように、.refreshファイルがそこにあります。彼らはただ、元のパスとファイルをテキストです - 更新日時を比較するために使用されている。

あなたが言うときます:

  私は(仮想ディレクトリにアプリケーションファイルをコピーして)、運用サーバー上のアプリをインストールすると、

、binディレクトリが自動的に更新されません。

あなたは正確に何を意味するのですか?あなたはまた、本番サーバーにbinディレクトリの内容をコピーしていませんか?あなたは、アプリケーションと任意の依存アセンブリを配置する必要があります。

他のヒント

役立つかもしれないasp.netのキャッシュディレクトリをクリアます:

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

これらの .refresh ファイルを削除します。

以下のような簡単なビルド スクリプトを作成します (cmd、NAnt、Rake、psake などを使用して)。

  • それらのファイルを asp.net アプリ フォルダーにコピーします
  • asp.net アプリを構築します。

または、.csproj ファイルを編集して次のような内容を追加することもできます。

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

これにより、dll ファイルを asp.net アプリの出力ディレクトリにコピーするビルド前アクションが追加されます。MsBuild でビルドする必要があります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top