我在Visual Studio中通过Entity Framework安装了NuGet Package Manager。在我安装此软件包的每个项目中,都出现了app.config
文件,其外观完全如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings>
<add name="DatabaseContext" connectionString="data source=(LocalDb)\MSSQLLocalDB;initial catalog=Namespace.ContextName;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
我想知道这些信息是否仅在启动项目(以及单元测试项目)中是必需的。我可以从类库项目中删除app.config
个文件,这些文件只使用DbContext
吗?
答案 0 :(得分:1)
是的,您可以从项目中删除它们,然后将其保留在启动项目中。但是您的主要项目也应该参考EF包。因此,当您调试或构建版本时,您的卫星dll将实际使用您的启动项目的app.config文件。
记住......当你通过nuget升级EF或其他软件包时,它会再次添加app.config文件。