ABP问题记录

2018/06/26 09:21
阅读数 47

按照《Asp.NET Core2.0与 EF的ABP框架入门视频教程》(https://ke.qq.com/course/287301)下载了3.9版本的ABP,开始学习,下面记录遇到的问题

使用的是VS2017社区版(版本15.7.4)

 

1、运行MPACore.PhoneBook.Web.Host项目,遇到错误:A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

原因:appsettings.json设置为使用本地SQL Server,但是我计算机上没有安装,默认使用localdb,需要修改
"Default": "Server=localhost; Database=PhoneBookDb; Trusted_Connection=True;"
改为
"Default": "Server=(LocalDB)\\MSSQLLocalDB; Database=PhoneBookDb; Trusted_Connection=True;"

 

2、System.Data.SqlClient.SqlException:“Cannot open database "PhoneBookDb" requested by the login. The login failed.Login failed for user 'XXXXXXXX'.”

原因:根本没找到数据库,记得在程序包管理控制台执行update-database命令,还要记得默认项目选中ABPMPA.PhoneBook.EntityFrameworkCore

彩蛋:关于这个错误还有其他可能性,https://www.tuicool.com/articles/FfmIni,这篇博文比较有意思,总结下,就是不小心把LocalDB的默认数据库给删了,sa又登不进去,没办法通过SSMS进去配置,

解决办法也很简单,通过登录界面的选项>>功能,进去选择master作为默认数据库就OK了。

另外在第一次执行update-database命令的时候,还出现了下列错误:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

把ABPMPA.PhoneBook.Web.Host和ABPMPA.PhoneBook.Web.Mvc项目的数据库连接设置都改成指向LocalDB之后解决。

 

3、有一个小问题,刚开始运行的时候,使用Chrome浏览器,发现输入账号之后就会退出,后来改用IE测试没有这个问题,猜测是和脚本有关系,于是启用了调试选项中的脚本调试(默认是禁用的),问题解决。

 

4、下面这个问题是使用MVC5 MPA时遇到的一起放在这里

Compiler Error Message: CS1061: “System.Web.Mvc.HtmlHelper<dynamic>”不包含“IncludeScript”的定义,并且找不到可接受类型为“System.Web.Mvc.HtmlHelper<dynamic>”的第一个参数的扩展方法“IncludeScript”(是否缺少 using 指令或程序集引用?)

记得在看文档的时候提到过Typescript,于是检查了下,发现Typescript 2.8是安装了的

Be sure you have installed Typescript 2.0+ in Visual Studio because the Abp.Web.Resources NuGet package comes with d.ts and it requires Typescript 2.0+.

Bing了一下没找到有用的文档,自己继续回到项目上来找哪里出了问题

按照提示安装了2.2版本,并且去掉了所有编译时提示的dll冲突警告,但是问题依然存在,导致项目登录之后就无法看到主页面,猜测是不是和用VS2017有关系(版本太新了?虽然太玄学了,但是想必大部分Debug入魔的人都会有些脑洞大开的思路),继续思考中......

解决了,之前默认ABP生成的代码都没有问题,然后不得已搜索IncludeScript,发现在其他文件里面也用到,但是没错,看了下,发现是缺少了这样一行:

@using Abp.Web.Mvc.Extensions

加上之后OK了。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部