使用IIs支持Asp.net核心网络与直接浏览不同

时间:2017-08-10 12:52:17

标签: debugging iis asp.net-core-mvc visual-studio-2017

这是我的第一个问题,所以我非常兴奋:)。

我最近从mvc-5/6编程到asp.net核心。 现在,我注意到当我调试我的网站时,我有几个选择:

-iis

通过cmd部署

-SolutionName

-Browse with

有趣的是,当我使用IIS(F5)部署我的网页时,浏览器并没有获得我所有的css引用(这对我的私有元素没有影响)。但是,当我通过前面提到的其他两个选项进行部署时,它确实有效。

现在我一直在寻找解释,并找不到。 由于我在IIS中缺乏理解,我认为问题出在那里,这里有以下两个问题:

1)为什么会有这样的区别?

2)如果IIS在其他调试方法没有正确响应的情况下没有按照我的预期做出响应,那么最终是否重要?

谢谢你!!!

A pic to show my code

.banner {
    height: 350px;
    width: 100%;
    max-height: 50%;
    max-width: 100%;
    min-height: 20%;
    min-width: 30%;
    background-image: url('/ProfilePic/Profile.png');
    background-size: cover;
}

1 个答案:

答案 0 :(得分:0)

我在这里要小心 - 这绝对重要 - 作为问题2的答案。

当您从旧的MVC切换到核心时,您会意识到您的服务已经过了#34;文件放在wwwroot文件夹中。

完全有可能您没有正确引用 CSS (因为它与普通MVC的文件结构不同)。另外,请务必使用相对路径而不是绝对路径。

看看这里:

<强>正确:

<link href="~/css/site-internal.min.css" rel="stylesheet" />

<强>不正确:

<link href="~/wwwroot/css/site-internal.min.css" rel="stylesheet" />

<link href="http://localhost:5000/css/site-internal.min.css" rel="stylesheet" />

可能是你的问题无关紧要,但值得注意的是。

修改

无论您运行该程序的方式如何,您的CSS都应该能够加载。

除此之外 - IIS选项允许您调试并逐步执行JS,可能非常有用。

你想在这里做的是进入你的浏览器开发工具(F12大部分时间),然后去看你的CSS是否得到正确解决 - 一旦你知道你的问题是什么,你就可以继续。

通常如果在加载CSS的过程中出现问题,您将直接在浏览器控制台中收到错误

编辑#2

进一步仔细阅读您的问题陈述后 - 我认为您的CSS可能已正确加载,但您的图片网址存在问题。

请检查第一个答案here

CSS文件中图像的URL相对于CSS文件的路径。

因此,您的解决方案将是这样的:

../ProfilePic/Profile.png

..向上移动一级。