45

我在VS 2010下创建了一个Web API项目,切换到VS 2012后,总是得到一个警告:

Web 项目“xxx”需要 SQL Server Express,但此计算机上未安装。[...]

我不想安装此 SQL Server Express。我使用 IIS 进行调试。如何禁用此依赖项?

我在 web.config 中也注意到了这一点:

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|[...].mdf;Initial Catalog=[...];Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
  </connectionStrings>

谁创造了这个?我可以删除这个吗?

4

3 回答 3

92

将连接字符串“Data Source=.\SQLEXPRESS”的这一部分更改为

“数据源=localhost\SQLEXPRESS”

于 2013-09-05T03:06:00.773 回答
20

它是由 Visual Studio 为您创建的。原因是 Web API 项目是 MVC 项目的子类。实际上,Web API 项目可以同时包含:Web 应用程序和 Web API 本身。

只要这个项目是 MVC 项目的子类,你就可以获得所有这些额外的功能。

只要不需要,您就可以删除所有多余的东西。您还可以删除的内容:

在 WebConfig 中:

  • /configSections/section name="entityFramework"...
  • /连接字符串
  • /system.web/pages
  • /system.web/profile
  • /system.web/membership
  • /system.web/roleManager
  • /实体框架

您可能还想删除

NuGet 包:

除了 razor、MVC、Web Api 包之外的所有内容,例如:

  • jQuery
  • 实体框架
  • jQuery 验证
  • jQuery 用户界面
  • 现代化
  • 淘汰赛
  • MS 不显眼的 AJAX
  • MS 不显眼的验证

在解决方案资源管理器中:

  • /应用程序数据
  • /内容
  • /图片
  • /脚本
  • /意见

但要小心,因为删除后您将无法添加 Web API 帮助页面(例如描述您的 API)。

于 2012-12-04T19:07:38.387 回答
3

如果您安装了更高版本的 SQL Express 本地数据库,您还可以将连接字符串更改为新的 SQL 2014+ 语法“Data Source=(LocalDb)\MSSQLLocalDB;...”。

于 2016-11-01T17:49:32.990 回答