【问题标题】:Web publishing in ASP.Net does not publishes for following file formatsASP.Net 中的 Web 发布不针对以下文件格式发布
【发布时间】:2013-03-03 17:33:40
【问题描述】:

我正在尝试发布一个网站,其中 css 目录包含用于字体设置的不同文件。

以下是文件和扩展名:

 calibri-webfont.eot
 calibri-webfont.svg
 calibri-webfont.ttf
 calibri-webfont.woff
 calibri-webfont.oft

现在当我尝试发布网站时,它只是发布 .svg 文件,其他文件我需要手动复制。 在发布以下选项时,我已检查:

  1. 用本地副本替换匹配文件
  2. 仅运行此应用程序所需的文件。

预期:由于所有这些文件都是必需的,我希望这些文件能够自动发布,而不是手动处理。

如何做到这一点?

【问题讨论】:

  • 项目中是否包含有问题的文件?我不只是指坐在目录中,或包含在源代码管理中,而是实际上包含在 ASP.NET 项目中。
  • 是的,这些实际上包含在项目中!但仍然导致此问题。
  • 在每个文件的“属性”窗格中,构建操作是否设置为“内容”?
  • No.. 它不是.. 仅适用于 svg 文件的“内容”。有问题吗?你能简要介绍一下它的含义/用途吗? n 感谢您的快速回复!
  • 是的,它们必须设置为“内容”。发布任务在创建 zip 文件时将忽略未设置为“内容”的文件。

标签: asp.net fonts publishing


【解决方案1】:

我知道你很久以前就问过这个问题,但今天它在 Google 上的排名很高,我也遇到了同样的问题。今天的修复是 Azure 没有为多种字体文件格式配置 MIME 类型。这必须添加到 web.config 中,否则 Azure 只会返回 404 错误(即使文件实际发布)。

<system.webServer>
    <staticContent>
        <mimeMap fileExtension="woff" mimeType="application/font-woff" />
    </staticContent>
</system.webServer>

来源: http://www.codepal.co.uk/show/WOFF_files_return_404_in_Azure_Web_Sites

【讨论】:

  • 这是另一个问题的答案。原文是关于复制文件的。这是关于 IIS/Azure 不提供文件的问题。不确定它是否应该是这个问题的答案,尽管我知道它们是相关的。
  • @SamiKuhmonen 我同意你的观点,但不一定。当我遇到同样的问题时,我确信文件没有被复制,而实际上问题出在 MIME 映射上——文件被复制得很好。 WebPublish 没有理由不复制这些文件,是吗?如果 OP 可以通过另一种方法(例如 FTP)确认文件不在目标位置,那么它可能会增加根本问题的清晰度。
【解决方案2】:

如果您的文件未包含在项目中(仅包含在文件结构中),请在 Visual Studio 中单击解决方案资源管理器中的“显示所有文件”图标(看起来像 3 页)。右键单击文件并选择“包含在项目中”

通过右键单击访问文件属性,然后确保构建操作属性设置为“内容”。

【讨论】:

  • 您必须将它们包含在项目中(否则您无法指定构建操作,并且 Package 任务将不知道文件在那里)。但是,您不必“将 [它们] 复制到输出目录”。
  • @HackedByChinese 你是对的......我的内存故障。以为我没有在项目中包含文件就做到了!修改...
【解决方案3】:

右键单击文件属性,然后确保将 Build Action 属性设置为“内容”。

工作正常

【讨论】:

    猜你喜欢
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 2020-12-02
    相关资源
    最近更新 更多