2012-12-04 13 views
33

stworzyłem projekt Web API pod VS 2010. Po włączeniu do VS 2012, zawsze dostać ostrzeżenie:ASP.NET Web API: Projekt wymaga SQL Server Express

internetowej projektu 'XXX' wymaga programu SQL Server Express, który nie jest zainstalowany na tym komputerze. [...]

Nie chcę instalować tego SQL Server Express. Używam IIS do debugowania. Jak mogę wyłączyć tę zależność?

Zauważyłem też to w moim 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> 

Kto stworzył ten? Czy mogę to usunąć?

+1

Utwórz pustą aplikację internetową i zainstaluj pakiet Microsoft.AspNet.WebApi NuGet. Możesz ruszać. Nie używaj szablonów MVC do rzeczywistych rzeczy. To po prostu niepotrzebne. – tugberk

Odpowiedz

15

Został stworzony przez Visual Studio do Ciebie. Powodem jest to, że projekty Web API są podklasą projektów MVC. W rzeczywistości projekt Web API może zawierać zarówno aplikację internetową, jak i sam Web API.

Jeśli chodzi o projekt będący podkategorią projektu MVC, zyskujesz wszystkie dodatkowe funkcje.

Możesz usunąć wszystkie dodatkowe elementy, o ile ich nie potrzebujesz. Rzeczy można usunąć również:

W webconfig:

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

Prawdopodobnie będzie również usunąć

Nuget pakiety:

wszystko oprócz maszynki, MVC, pakiety Web API jak:

  • jQuery
  • EntityFramework
  • jQuery Validation
  • jQuery UI
  • modernizr
  • knockoutjs
  • MS Dyskretna AJAX
  • MS Dyskretna Validation

W Solution Explorer:

  • /App_Data
  • /Content
  • /Images
  • /scripts
  • /Odwiedzin

ale należy zachować ostrożność, ponieważ po tym usunięciem nie będą mogli dodać stronę Web API Pomocy na przykład (który opisuje twój interfejs API).

+0

Dziękuję za te informacje. – user437899

+0

Podczas gdy to jest dobra wiedza, aby oczyścić swój projekt, nic tutaj nie naprawia błędu. – TravisO

64

Zmiana ta część ciąg połączenia "Source =. \ SQLEXPRESS" do

"Data Source = localhost \ SQLEXPRESS"

+4

To powinna być poprawna odpowiedź. Jest zwięzły i odpowiada na pytanie OP. –

+1

Mimo że nie byłam całkowicie powiązana, zostałem poproszony o uaktualnienie do SQLExpress, który następnie zamieniono na LocalDB '(localdb) \ ProjectsV12' ta podpowiedź pomogła wypełnić lukę –

+3

Czy mówisz, że Visual Studio szuka ciągu znaków ". \ SQLEXPRESS" w plikach app.config, a jeśli go znajdzie, wyświetla to ostrzeżenie? Jeśli tak, to jest naprawdę głupie. –

1

można również zmienić ciąg połączenia do nowego 2014+ składni SQL "Data Source = (LocalDb) \ MSSQLLocalDB; ..." jeśli masz zainstalowaną późniejszą lokalną wersję SQL db Express.

Powiązane problemy