Visual studio 运行添加迁移时,包管理器控制台无法读取连接字符串
尝试使用Visual studio 运行添加迁移时,包管理器控制台无法读取连接字符串,visual-studio,.net-core,entity-framework-core,connection-string,Visual Studio,.net Core,Entity Framework Core,Connection String,尝试使用ConfigurationManager.connectionString[“TestingDatabase”]。connectionString 这是Windows上的空白项目。我创建了一个Windows窗体应用程序(.NET Core),并刚刚安装了基本要求-EntityFrameworkCore、EntityFrameworkCore工具和System.Configuration.ConfigurationManager。 我手动创建了一个App.config文件,其中包含以下内容
ConfigurationManager.connectionString[“TestingDatabase”]。connectionString
这是Windows上的空白项目。我创建了一个Windows窗体应用程序(.NET Core),并刚刚安装了基本要求-EntityFrameworkCore、EntityFrameworkCore工具和System.Configuration.ConfigurationManager。
我手动创建了一个App.config文件,其中包含以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="TestingDatabase" connectionString="myConnectionString"/>
</connectionStrings>
</configuration>
昨天发布的,似乎与我的问题非常相似。通过解决方法解决。我没有使用App.config,而是创建了一个settings.json文件,并使用config.NET库读取它。确保将settings.json复制到输出目录
这并不能解决PackageManager控制台无法访问App.config文件的问题,但至少可以防止我将字符串硬编码为代码 数据库本身是否已经创建?尝试此命令:dotnet ef database update此问题发生在建立数据库连接之前。如果我使用一个原始字符串(optionsBuilder.UseNpgsql(“myConnectionString”);),那么就会建立连接,迁移和数据库更新都会工作。当我使用ConfigurationManager(optionsBuilder.UseNpgsql(ConfigurationManager.ConnectionString[“TestingDatabase”].ConnectionString);)时会出现问题。您使用的是哪个版本的.net core?请参见:我使用的是.net core 3.0。我也尝试过2.2版,但没有成功。那个问题似乎与我的问题有关,但我不明白解决办法。添加“ConfigurationManager到.Net Framework应用程序”意味着什么?在我的例子中,ConfigurationManager已经是Dependencies->NuGet->System.Configuration.ConfigurationManager中的依赖项。