ASP.NET MVC5 总结

2018-01-13  本文已影响0人  TscCai

时隔多年,又把ASP.NET MVC捡起来。以前用的MVC3,现在都到MVC5了,以前的东西有点跟不上了。赶紧把遇到的坑都记下来,也算是边开发,边总结。

1. IIS 7.5的部署

在win7或server 2008上部署MVC5项目需要安装.NET Framework 4.5.1,否则会在<compilation><httpRuntime>节点处报错,称targetFramework不匹配。

2. SQLite及Entity Framework 6配置

要使用VS的ADO.NET数据实体向导,需要安装SQLite for Visual Studio。下载时注意选择匹配的VS版本。在MVC项目中,用NuGet添加Entity Framework(版本选6.20或6.0)和System.Data.SQLite(SQLite在NuGet上只维护了一个最新版,本文选择1.0.106)。

3. 修改 web.config 文件

虽然通过NuGet安装SQLite可以自动添加引用并修改web.config,但自动修改的配置文件有误,需要修改entityFramework节点下的providers,正确的配置如下:

<providers>
    <provider invariantName="System.Data.SQLite" 
        type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
    <provider invariantName="System.Data.SQLite.EF6" 
        type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>

<providers>的前一个兄弟节点<defaultConnectionFactory>,如不使用VS自带的SQL Server Local DB也可去掉该默认数据库连接工厂类。

4. BundleConfig 的配置

BundleConfig中定义了css和js的虚拟路径,在最终生成的HTML中对资源的引用也是该虚拟路径。但如果在css中有对图片或字体的引用,且使用了相对路径如background-image: url(../img/test.jpg),多数情况下,都会找不到这个test.jpg。这是因为css中外联的图片、字体等文件并不存在于我们指定的虚拟路径下,而虚拟路径下又只有css和js文件。这就导致了图片和字体的丢失。解决办法有三:

上一篇 下一篇

猜你喜欢

热点阅读