J'ai créé un projet d'API Web sous VS 2010. Après mon passage à VS 2012, je reçois toujours un avertissement:
Le projet Web "xxx" nécessite SQL Server Express, qui n'est pas installé sur cet ordinateur. [...]
Je ne souhaite pas installer ce SQL Server Express. J'utilise IIS pour le débogage. Comment puis-je désactiver cette dépendance?
J'ai également remarqué cela dans mon 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>
Qui a créé ça? Puis-je supprimer cela?
Il a été créé par Visual Studio pour vous. La raison en est que les projets d'API Web sont une sous-classe de projets MVC. Et en fait, le projet d'API Web peut contenir à la fois: une application Web et l'API Web elle-même.
Dans la mesure où ce projet est une sous-classe d'un projet MVC, vous obtenez toutes ces fonctionnalités supplémentaires.
Vous pouvez supprimer tous ces éléments supplémentaires dans la mesure où vous n'en avez pas besoin. Les choses que vous pouvez également supprimer:
Dans WebConfig:
Vous voudriez probablement aussi supprimer
packages NuGet:
Tout sauf les rasoirs, MVC, les packages Web Api comme:
Dans l'Explorateur de solutions:
Mais soyez prudent, car après cette suppression, vous ne pourrez pas ajouter la page d'aide de l'API Web par exemple (qui décrit votre API).
Remplacez cette partie de la chaîne de connexion "Data Source =.\SQLEXPRESS" par
"Source de données = localhost\SQLEXPRESS"
vous pouvez également remplacer la chaîne de connexion par la nouvelle syntaxe SQL 2014+ "Data Source = (LocalDb)\MSSQLLocalDB; ..." si une version ultérieure de SQL Express local db est installée.