Microsoft Visual Studio

Microsoft Visual Studio 開発時エラー

2022.06.26 'Microsoft SQL Server Data Tools' パッケージは正しく読み込まれませんでした。

Visual Studio 2022 で、デバッグしようとすると、以下のメッセージが表示された。

'Microsoft SQL Server Data Tools' パッケージは正しく読み込まれませんでした。

構成の変更または別の拡張機能のインストールが原因で問題が発生している可能性があります。ファイル 'C:\Users\Test\AppData\Roaming\Microsoft\VisualStudio\17.0_5dcddca8\ActivityLog.xml' を調べると、より詳細な情報を取得することができます。

Visual Studio を再起動するとこの問題を解決できる可能性があります。

指示どうり再起動すると、解決した。

2022.06.23 別のプロセスで使用されていため、プロセスはファイル~にアクセスできません。

Visual Studio 2022 で、コンパイルする際に、「エラー ディレクトリ "bin\Release\app.publish\" を削除できません。別のプロセスで使用されているため、プロセスはファイル 'C:\Users\test_user\Dropbox\Data\Develop\TestProject\Project\Test\bin\Release\app.publish\Application Files' にアクセスできません。」がよく出現するようになっている。

再度コンパイルすれば、正常なことも多い。

2022.06.08 このドキュメントのシンボルが読み込まれていません

デバッグモードに変更しているにも関わらず、ブレークポイントにヒットしない現象がは発生した。ブレークポイントにマウスポインタを当てると、「このドキュメントのシンボルが読み込まれていません」が表示されていた。

解決方法は、オプション - デバッグ - 全般の「マイ コードのみを有効にする」のチェックを外すこと。

但し、この現象が発生する前に変更していないし、気付くと元に戻っていることもある。

2022.04.12 System.InvalidCastException: '型 'Microsoft.Office.Interop.Excel.ApplicationClass' の COM オブジェクトをインターフェイス型 'Microsoft.Office.Interop.Excel._Application' にキャストできません。

C# で開発したアプリで、Excel 経由で印刷を行う際にエラーが発生した。

System.InvalidCastException: '型 'Microsoft.Office.Interop.Excel.ApplicationClass' の COM オブジェクトをインターフェイス型 'Microsoft.Office.Interop.Excel._Application' にキャストできません。IID '{000208D5-0000-0000-C000-000000000046}' が指定されたインターフェイスの COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、この操作に失敗しました: 要素が見つかりません。 (HRESULT からの例外:0x8002802B (TYPE_E_ELEMENTNOTFOUND))。'

これまで正常に動作していたのだが、突然エラーが発生した。他の環境では正常に動作しているため、開発環境のマシンだけと考えられた。

そこで、appwiz.cpl を開き、Microsoft 365 Apps for enterprise のクイック修復を実行したところ、正常となった。おそらくであるが、Visio をインストールしたことが原因ではないかと推測される。

2020.12.17 C# マネージド デバッグ アシスタント 'ContextSwitchDeadlock' : 'CLR は、COM コンテキスト 0x46a7260 から COM コンテキスト 0x46a71a8 へ 60 秒で移行できませんでした。

C# で開発したアプリを実行中にエラーが発生した。

マネージド デバッグ アシスタント 'ContextSwitchDeadlock' : 'CLR は、COM コンテキスト 0x46a7260 から COM コンテキスト 0x46a71a8 へ 60 秒で移行できませんでした。ターゲット コンテキストおよびアパートメントを所有するスレッドが、ポンプしない待機を行っているか、Windows のメッセージを表示しないで非常に長い実行操作を処理しているかのどちらかです。この状態は通常、パフォーマンスを低下させたり、アプリケーションが応答していない状態および増え続けるメモリ使用を導く可能性があります。この問題を回避するには、すべての Single Thread Apartment (STA) のスレッドが、CoWaitForMultipleHandles のようなポンプする待機プリミティブを使用するか、長い実行操作中に定期的にメッセージをポンプしなければなりません。'

これだけ見ても何を言っているのかわからない。Entity Framework を使用してデータベースアクセスしている箇所でエラーが発生していることはわかる。おそらくクエリーの書き方が問題だと思う。要はタイムアウトだな。

ちなみにもう一度実行するとエラーは発生せず、正常に終了した。

2020.01.18 C# System.Data.Common.DbDataReader ExecuteStoreCommands(System.Data.Entity.Core.EntityClient.EntityCommand, System.Data.CommandBehavior)

C# で開発したアプリでエラーが発生した。

場所 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
場所 System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
場所 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__6()
場所 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
場所 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5()
場所 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
場所 System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
場所 System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
場所 System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()

これまで正常に動作していたので、直感的にデータ量だと推測した。複数のテーブルを join しているが、いわゆる inner join だったので、outer join に変更し、join する範囲を絞ったところ正常に動作するようになった。

2016.02.12 エラー CS1936 ソース型 'DbSet<(tablename)>' のクエリ パターンの実装が見つかりませんでした。'Select' が見つかりません。

Visual Studio 2015 で、データベースに対して、Entity Framework を経由してアクセスするコードを書いている際に「クエリ パターンの実装が見つかりませんでした。'Select' が見つかりません。」エラーが発生した。

このエラーを解決するには、using System.Linq; を追加します。通常、何らかの定義が足りない場合には、マウスカーソルをエラーに充てると、黄色ランプのアイコンが出現して、追加すべきものを提示してくれますが、このケースの場合にはそれがありません。

-Microsoft Visual Studio