バックグラウンド:
aspnet_compiler.exeを使用してWebアプリケーションをプリコンパイルしています。すべてが機能していますが、すばらしいですが、AssemblyInfo.vbで指定されたバージョン番号は、App_Code.dll、App_Browsers.dllなどにのみ適用され、個々のページアセンブリには適用されないことに気付きました。-fixednamesを使用しています
編集:これはWebアプリケーションではなくWebサイトです
質問:
aspnet_compiler(WebデプロイプロジェクトやWebアプリではありません)を使用して、各ページに@Pageディレクティブを指定せずに、バージョン番号を取得してページアセンブリに伝播する方法はありますか?
編集:一部のページアセンブリにはバージョン番号が設定されているものと設定されていないものがあるようです。例えば:
/Default.aspx(+.vb)-> App_Web_default.aspx.cdcab72d.dllにコンパイルします(バージョン番号なし)
/Sites/A/Default.aspx(+.vb)-> App_Web_default.aspx.cd795919.dllにコンパイルします(バージョン番号あり)
/Sites/B/Default.aspx(+.vb)-> App_Web_default.aspx.d30819d.dllにコンパイルします(バージョン番号あり)
プロットが厚くなる
さて、上記のすべてを忘れてください。バージョン番号はすべてのアセンブリに伝達されます。問題は、Windowsエクスプローラーに一部しか表示されないことです(プロパティダイアログと[ファイルバージョン]列の両方)。しかし、私がこのように読んだ場合、バージョンはそこにあります:
private string GetVersionNo(string AssemblyFileName)
{
AssemblyName an = AssemblyName.GetAssemblyName(AssemblyFileName);
return an.Version.ToString();
}
一体何が起こっているのか、誰かが何か考えを持っていますか?