如何在 Windows Azure 上使用 SquishIt

发布于 2025-01-01 17:58:17 字数 761 浏览 1 评论 0 原文

我想使用内部的 SquishIt nuget 包和在 Windows Azure 上运行的 MVC3 应用程序。我使用 SquishIt 进行 CSS 和 JS 组合和缩小。

在我的 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 的磁盘上写入,但可能是目录错误或安全权限不足。有什么想法吗?

I want to use the SquishIt nuget package inside and MVC3 application that is running on Windows Azure. I'm using SquishIt for CSS and JS combination and minification.

In my Views/Shares/_Layout.cshtml I have the following lines:

@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"))

This results in an

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

I found something here http://www.bondigeek.com/blog/2011/03/22/all-is-quiet-not-on-the-azure-front/ but this is actually not what I want. In general it should be possible for SquishIt to write on the disk of the Azure VM, but probably the directory is wrong or the security rights are insufficient. Any idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦里梦着梦中梦 2025-01-08 17:58:17

在 Azure VM 中,您无法直接写入文件系统。您必须配置 SquishIt 以将捆绑包保留在内存中。

有关更多详细信息,请参阅此页面: 以编程方式使用 SquishIt,无需文件系统

In Azure VM, you cannot write to file system directly. You have to configure SquishIt to keep bundles in memory.

See this page for more details: Using SquishIt programmatically without the file system

初懵 2025-01-08 17:58:17

您可以在 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 角色
    <启动> <任务 commandLine="App_Startup\enableWritePermissions.cmd"executionContext="elevated"taskType="background" />

就这样,您在 \scripts 目录中拥有了写入权限,您可以自由使用最小化。

You can use It on azure but you need to add a Start-up Script in the web role that will set proper Permission on the Directory that you write to:

Those are the Steps:

  1. Add a new folder to the web project , I prefer to call it App_Startup
  2. Add new Bat File called enableWritePermissions.cmd
  3. Add the Permission Command: icacls %~dp0..\scripts /grant "NETWORK SERVICE":(OI)(CI)RX
  4. Add a start-up Script to the web role by adding the ServiceDefinition.csdef of the Azure Project in the Sites Tag
    <Startup> <Task commandLine="App_Startup\enableWritePermissions.cmd" executionContext="elevated" taskType="background" />
    </Startup>

That's all , you have a Write permission in the \scripts directory and you can use the Minimization freely.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文