1

内部のSquishItnugetパッケージと、WindowsAzureで実行されているMVC3アプリケーションを使用したいと思います。CSSとJSの組み合わせと縮小にSquishItを使用しています。

私のViews/Shares / _Layout.cshtmlには、次の行があります。

@MvcHtmlString.Create(
    Bundle
    .Css()
    .Add("~/Content/templates/style.css")
    .Add("~/Content/market.css")
    .Add("~/Content/jquery-ui-theme/jquery-ui-1.8.17.custom.css")
    .ForceRelease()
    .Render("/Cache/combined-css_#.css"))

これにより、

"System.IO.IOException: Unable to open file"

ここで何かを見つけましたhttp://www.bondigeek.com/blog/2011/03/22/all-is-quiet-not-on-the-azure-front/しかし、これは実際には私が望んでいるものではありません。一般に、SquishItがAzure VMのディスクに書き込むことは可能ですが、ディレクトリが間違っているか、セキュリティ権限が不十分である可能性があります。何か案が?

4

2 に答える 2

4

Azure VMでは、ファイルシステムに直接書き込むことはできません。バンドルをメモリに保持するようにSquishItを構成する必要があります。

詳細については、このページを参照してください:ファイルシステムなしでプログラムでSquishItを使用する

于 2012-04-21T18:40:21.387 に答える
2

Azureで使用できますが、書き込み先のディレクトリに適切なアクセス許可を設定するスタートアップスクリプトをWebロールに追加する必要があります。

手順は次のとおりです。

  1. Webプロジェクトに新しいフォルダを追加します。私はそれをApp_Startupと呼びます。
  2. enableWritePermissions.cmdという名前の新しいBatファイルを追加します
  3. 権限コマンドを追加します。icacls %~dp0..\scripts /grant "NETWORK SERVICE":(OI)(CI)RX
  4. サイトタグにAzureプロジェクトのServiceDefinition.csdefを追加して、スタートアップスクリプトをWebロールに追加します <Startup> <Task commandLine="App_Startup\enableWritePermissions.cmd" executionContext="elevated" taskType="background" /> </Startup>

これで、\ scriptsディレクトリに書き込み権限があり、最小化を自由に使用できます。

于 2012-11-17T16:54:30.300 に答える