.net 在应用程序配置文件中找不到名为xxx'的连接字符串

.net 在应用程序配置文件中找不到名为xxx'的连接字符串,.net,entity-framework,asp.net-core,.net,Entity Framework,Asp.net Core,我的解决方案有三个项目: 将edmx EF核心用作Oracle数据库的DAL的dll库 引用上述dll的业务逻辑库 引用业务逻辑dll的ASP.NET核心Web服务应用程序 这三个版本的目标都是相同版本的.NET framework:4.6.1 为了让webservice工作并访问数据库,我必须将App.config文件从EntityFramework项目复制到webservice项目 在我决定从ASP.NET 5 RC1迁移到ASP.NET Core 1.0之前,一切都很顺利 迁移后,web

我的解决方案有三个项目:

将edmx EF核心用作Oracle数据库的DAL的dll库 引用上述dll的业务逻辑库 引用业务逻辑dll的ASP.NET核心Web服务应用程序 这三个版本的目标都是相同版本的.NET framework:4.6.1

为了让webservice工作并访问数据库,我必须将App.config文件从EntityFramework项目复制到webservice项目

在我决定从ASP.NET 5 RC1迁移到ASP.NET Core 1.0之前,一切都很顺利

迁移后,web.config出现在webservice项目根目录中,而不是wwwroot文件夹下的根目录中,我遇到了前面提到的错误,因为现在我有两个配置文件app.config和web.config,删除app.config的解决方案是有意义的

因此,我将app.config中的所有部分复制到web.config,并删除app.config,这解决了我的第一个问题,但现在每当我尝试使用DBContext时,我都会遇到以下异常:

中发生“System.InvalidOperationException”类型的异常 EntityFramework.dll,但未在用户代码中处理

其他信息:没有名为的连接字符串 在应用程序配置文件中可以找到“DBEntities”

我注意到,发布应用程序后,文件myApp.exe.config不再具有连接字符串。我的问题很简单,如何让应用程序在web.config中查找连接字符串

我发现了一些类似的问题,比如一个
但它们都不能回答我的问题。

必须在appsettings.json中定义连接字符串


更多关于

的连接字符串必须在appsettings.json中定义


更多信息请访问

我遇到了完全相同的问题,答案是它有问题!在我的例子中,我的DbContext子类在app.config中需要一个连接字符串,所以这是您必须在下面提供的内容

现在,构建并运行该项目。进入/bin/Debug/文件夹,直到找到yourappname.exe和yourappname.exe.config文件。检查yourappname.exe.config文件。这是项目中各种xml配置文件的奇怪混合。确保您的连接字符串在其中


我对那个文件有过一段很糟糕的经历。进行清理不会删除它,因此您可能会遇到这样的情况:删除项目中对连接字符串的所有引用,即从app.config中删除它,而您的应用程序仍然可以工作,因为该字符串仍保留在该奇.exe.config文件中

我遇到了完全相同的问题,答案是它有马车!在我的例子中,我的DbContext子类在app.config中需要一个连接字符串,所以这是您必须在下面提供的内容

现在,构建并运行该项目。进入/bin/Debug/文件夹,直到找到yourappname.exe和yourappname.exe.config文件。检查yourappname.exe.config文件。这是项目中各种xml配置文件的奇怪混合。确保您的连接字符串在其中


我对那个文件有过一段很糟糕的经历。进行清理不会删除它,因此您可能会遇到这样的情况:删除项目中对连接字符串的所有引用,即从app.config中删除它,而您的应用程序仍然可以工作,因为该字符串仍保留在该奇.exe.config文件中

如果您有多个项目,请将web.config文件中的项目设置为启动项目。

如果您有多个项目,请将web.config文件中的项目设置为启动项目。

另一种情况是,您在MVC的web.config中的连接字符串后写入了标记项目。

另一种情况是,当您在MVC项目的web.config中的连接字符串后写入标记时,您会收到该异常。

对于Webservice,您是指SOAP/WCF吗?ASP.NET核心iirc中不支持此方案。ASP.NET上只支持Rest WebApi、MVC和仍处于早期测试阶段的SignalRCore@TsengVS2015中没有WebAPI项目类型。不是所有的WebAPI都在MVC中吗?它们都在同一个包中,并且支持开箱即用。尽管如此,WebApi和MVC在用法上还是有一些细微的区别:WebApi路由通常没有操作,并且使用http谓词,并且返回的IActionResult类型在WebApi中是不同的。但仍然没有答案,您使用哪种技术作为Web服务。Webservice通常指的是WCF/Soap,这就是为什么我要问这个问题,因为ASP.NET核心不支持它projects@Tseng它是基于http的webapi而不是WCF和Webservice你是说SOAP/WCF?ASP.NET核心iirc中不支持此方案。ASP.NET上只支持Rest WebApi、MVC和仍处于早期测试阶段的SignalRCore@Tseng没有WebAPI prjec
VS2015中的t类型。不是所有的WebAPI都在MVC中吗?它们都在同一个包中,并且支持开箱即用。尽管如此,WebApi和MVC在用法上还是有一些细微的区别:WebApi路由通常没有操作,并且使用http谓词,并且返回的IActionResult类型在WebApi中是不同的。但仍然没有答案,您使用哪种技术作为Web服务。Webservice通常指的是WCF/Soap,这就是为什么我要问这个问题,因为ASP.NET核心不支持它projects@Tseng它是基于http的webapi,而不是wcfI以前尝试过的,并且它不起作用。我有两个连接字符串,我使用只读复制数据库进行查询以提高性能,这是在创建上下文时根据数据操作的需要决定的。连接字符串的名称被传递给DBContextI的构造函数。我以前尝试过这一方法,但它不起作用。我有两个连接字符串,我使用只读复制数据库进行查询以提高性能,这是在创建上下文时根据数据操作的需要决定的。连接字符串的名称传递给DBContext的构造函数
{
  "ConnectionStrings": {
    "DefaultConnection": "< connection string value here >"
  },

.. other stuff here
}
  <connectionStrings>
    <add name="NameOfMyContext" connectionString="RemovedForSecurity" providerName="System.Data.SqlClient" />
  </connectionStrings>