Add-Migration を次のように実行します
PM> Add-Migration -ConnectionStringName "ViducationConnection" -Verbose -StartUpProjectName "Viducate.Domain"
そして、これは私が得るものです:
cmdlet Add-Migration at command pipeline position 1
Supply values for the following parameters:
Name: myoj
Using StartUp project 'Viducate.Domain'.
Using NuGet project 'Viducate.Domain'.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.ProviderIncompatibleException: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct. ---> System.Data.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
ここで奇妙なことは、プロジェクトを実行すると動作することです。接続文字列を確認しましたが、動作します(これも変更されていません)。これは、以前はこのように機能し、接続に関して何も変更されていませんでした
接続文字列にどのような名前を付けても同じように失敗しますが、正しい名前を付けるか、まったく同じように失敗する「何でも」を付けることができます。接続文字列が見つからないと思わせます。
しかし、メイン プロジェクトの web.config と Vidcate.Domain プロジェクトの app.config の両方にあります。
そして、これは以前に機能しました。しかし、私はもう一度この非常に問題を抱えていましたが、その時はビジュアルスタジオのSQLサーバーオブジェクトエクスプローラーからSQLサーバー(azure btw)を参照すると、その時はうまくいきました。今回はそのような幸運はありません。再起動、ファイアウォールのオフなどを試しましたが、うまくいきません。
理想的とは言えませんが、同じデータベースで作業している2人の開発者であるため、1人が更新して不一致が発生することがありますが、この方法で接続に失敗することはないため、問題にはなりません.
編集:私の接続文字列は:
<add name="ViducationConnection" connectionString="Server=tcp:v6u2f4fbbg.database.windows.net,1433;Database=vidutesAqx321gza;User ID=myuser@v6u2f4fbbg;Password=mypassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />