【问题标题】:Broken CSS Link When Published in Visual Studio 2017在 Visual Studio 2017 中发布时损坏的 CSS 链接
【发布时间】:2018-11-11 00:54:29
【问题描述】:

我在发布 Visual Studio 2017、C#、ASP.Net MVC 5 项目时遇到问题。我确实使用以下设置发布:

CSS 内容链接的问题,例如 bootstrap:

@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);

如果 bootstrap.min.css 位于 localhost/bower_components/css/bootstraps/bootstrap.min.css,则该 css 将在客户端显示为 localhost/fonts/glyphicons-halflings-regular.eot

如果我只是复制粘贴所有项目而不将其发布到服务器,链接将正确显示为localhost/bower_components/css/fonts/glyphicons-halflings-regular.eot

所有 css 都会发生这种情况,包括 css 中的图像和其他文件。

【问题讨论】:

  • css 文件是否被复制到发布输出中的bower_components 文件夹?字体文件是否也被复制到bower_components 文件夹中?换句话说,发布输出文件夹中的目录列表是否正确。
  • @ariekanarie 是的,所有文件在发布时都已成功复制。
  • 我没有解决方案,所以只需要检查一些事情。当您使用发布方法时手动复制时,het 文件/文件夹结构必须存在一些差异。禁用预编译有帮助吗?
  • 这是同一个问题吗? stackoverflow.com/q/34517032/495455
  • @Jeremy 因为我把它放在 www 文件夹中,所以它会在发布时包含在内。不,这与 bower_components 无关。它也发生在凉亭外面。感谢您的回复。

标签: c# asp.net-mvc-5 visual-studio-2017


【解决方案1】:

您的问题中有哪些可用的代码知识以及显示和解释的内容。我可以在您的代码中看到您的相对路径有问题。

您正在使用../ 将其更改为./~/。这应该可以解决问题。

通过使用../,您将跨过 css 路径。

【讨论】:

  • ../ 表示父目录,它实际上会很好用。不是回根的意思。 / 回到根目录。我认为您错误地阅读了这个问题。路径没有问题,因为如果我只是将所有代码复制到服务器,它会很好用。如果我发布它会出现问题。 ../ 就像 / 一样。谢谢你的回答。
【解决方案2】:

在 {YourProjectName}\App_Start\BundleConfig.Cs 中

在添加 Bootstrap Bundle 时添加 CssRewriteUrlTransform 类的实例如下:

public static void RegisterBundles(BundleCollection bundles)
{
     StyleBundle bootCss = new StyleBundle("~/styles/bootstrap");
                      bootCss.Include("~/Content/bootstrap/styles/bootstrap.css", 
                      new CssRewriteUrlTransform());
     bootCss.Include("~/Content/bootstrap/styles/bootstrap-theme.min.css", new CssRewriteUrlTransform());
     bundles.Add(bootCss);
}

【讨论】:

  • 您好,这是行不通的,实际上,如果我在浏览器中查看代码,所有链接都可以正常工作。它就像/ 回到根目录,我想要回到父目录。谢谢你的回答。
【解决方案3】:

构建操作默认设置为None,因此您需要将其更改为Content

在受影响的文件中右键单击>属性>将Build Action设置为Content

希望对你有帮助

【讨论】:

  • 您好,就像我在评论中所说,所有文件都正确发布,是的,所有文件构建操作都是内容,这就是所有文件正确复制的原因。谢谢你的回答。
【解决方案4】:

我发现即使一切设置正确,我的一些新添加的文件也没有发布。我关闭并重新打开VS 2019发现新添加的文件没有添加到项目中。我记得前段时间偶尔需要去File>Save All

这是一个简单的解决方案,但很难看出何时出现问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多