0
<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip.css?v=<%= System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion %>" />

いくつかの質問:

  • これはこれについての大丈夫な方法ですか?製品のアセンブリ情報が変更され、バージョンが更新されると、CSSファイルへのパスが変更され、キャッシュが無効になるという考え方です。
  • C#コードをウォッチウィンドウに配置すると、適切なバージョン情報が表示されますが、.aspxページにロードできません。エラーメッセージは表示されませんが、バージョンなしで.css?v=と表示されます。

ありがとう

編集:それは起こっている反射と関係があるようです。私が言うなら:

System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

ウォッチウィンドウに適切な名前が表示されますが、.aspxページで評価すると、App_Web_35です(正しくありません)。これを修正する方法はありますか?

Edit2:結局、私はあまり満足していない解決策を選びましたが、他の意見を聞きたいと思っています。私はちょうど置きます:

protected string GetApplicationVersion()
{
    return System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
}

関連するCSページで-そしてコードbehingで<%GetApplicationVersion()%>を呼び出したところ、適切な情報が返されました。ただし、インライン化できればいいのですが。

4

1 に答える 1

1

cssファイルはhtmlのように静的です。別のcssファイルを作成して、このように呼び出すことを検討してください

<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip_<%= `System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAsse`m`bly().Location).FileVersion %>.css" />`

したがって、このようなcssファイルが必要です../Content/Dashboard/CustomTooltip_1.0.css

于 2011-10-21T17:45:00.500 に答える