web-dev-qa-db-ja.com

ASP.NET Web API:プロジェクトにはSQL Server Expressが必要です

VS 2010でWeb APIプロジェクトを作成しました。VS2012に切り替えた後、常に警告が表示されます。

Webプロジェクト「xxx」にはSQL Server Expressが必要ですが、whcihはこのコンピューターにインストールされていません。 [...]

この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>

誰がこれを作成しましたか?これを削除できますか?

38
user437899

Visual Studioによって作成されました。その理由は、Web APIプロジェクトはMVCプロジェクトのサブクラスだからです。実際、Web APIプロジェクトには、WebアプリケーションとWeb API自体の両方を含めることができます。

このプロジェクトがMVCプロジェクトのサブクラスである限り、このすべての追加機能を利用できます。

必要のない限り、余分なものはすべて削除できます。削除できるもの:

WebConfigで:

  • / configSections/section name = "entityFramework" ...
  • / connectionStrings
  • /system.web/pages
  • /system.web/profile
  • /system.web/membership
  • /system.web/roleManager
  • / entityFramework

あなたもおそらく削除したいでしょう

NuGetパッケージ:

カミソリ、MVC、Web Apiパッケージ以外のすべて:

  • jQuery
  • EntityFramework
  • jQuery検証
  • jQuery UI
  • Modernizr
  • ノックアウト
  • MS控えめなAJAX
  • MSの控えめな検証

ソリューションエクスプローラーで:

  • /アプリデータ
  • /コンテンツ
  • /画像
  • /スクリプト
  • /ビュー

ただし、削除すると、たとえばAPIを説明するWeb APIヘルプページを追加できなくなるため、注意が必要です。

17
Max Shmelev

接続文字列「Data Source =。\ SQLEXPRESS」のこの部分を

「データソース= localhost\SQLEXPRESS」

77
Stevodevo

新しいバージョンのSQL Expressローカルデータベースがインストールされている場合は、接続文字列を新しいSQL 2014+構文「Data Source =(LocalDb)\ MSSQLLocalDB; ...」に変更することもできます。

2
Bob Provencher