Visual Studio 単体テストで発生するエラーについて

こんにちは、Visual Studio サポート チームです。 今回はVisual Studioの単体テストで発生するエラーの対処方法についてご案内します。   現象 単体テストの実行で以下のエラーメッセージが出る場合には、1 つのソリューション ファイル (.sln) 内に、複数の単体テスト プロジェクトが存在し、単体テストの参照アセンブリのバージョンが異なっている場合があります。 -エラーメッセージ- [“発生時間” Error] 実行プログラム ‘executor://mstestadapter/v2’ の呼び出し中に例外が発生しました: 型 ‘Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner’ にコンストラクターが見つかりませんでした。 ——————     対処 複数の単体テスト プロジェクトで参照しているアセンブリのバージョンが異なっている場合には、参照するアセンブリのバージョンを統一して単体テストを実行します。 <本稿の参考> 本ブログでご案内したエラーは、海外のお客様から以下のサイトに報告されています。 日本語による情報が少ない状況であったため、今回のVisual Studioサポートチーム ブログでご案内しています。 Tests fail to run on build server with V1.1.17, but will run with V1.1.14 #166 https://github.com/Microsoft/testfx/issues/166 Error in Unit test targetting…


アプリケーション構成ファイルのエンコーディングを変更した場合に発生する問題について

こんにちは、Visual Studio サポート チームです。 今回は、アプリケーション構成ファイル (***.exe.config) のエンコーディング設定を変更した場合に発生する問題と対処方法についてご案内します。   現象 アプリケーション構成ファイル (***.exe.config) のエンコーディングを Shift-JIS などに変更してアプリケーションを実行すると、以下のようなエラーが発生してアプリケーションの起動に失敗します。   Visual Studio からは、次の手順で App.config のエンコーディングを変更することができますが、既定値から変更した場合は上記のようなエラーが発生する可能性があります。   手順: ソリューション エクスプローラーで App.configを選択します。 プロパティ ウィンドウの [エンコード] で “日本語 (シフト JIS)” に設定して保存します。 ※ なお、Visual Studio ホスティング プロセスを介してアプリケーションが起動されている場合は、上記のエラーは発生しません。    対処 App.config のエンコーディングに Uft-8、または Utf-16 を使用することでエラーの発生を回避することができます。 “Unicode” – <?xml version=”1.0″ encoding=”utf-16″ ?> “Unicode (UTF-8)”  – <?xml…


ActiveX コントロールに含まれるプロパティ ページの動作について

こんにちは、Visual Studio サポートチームです。 今回は、ActiveX コントロールに含まれるプロパティ ページの動作についてご案内いたします。 ActiveX コントロールには、コントロールのプロパティ値を確認したり変更するために便利なプロパティ ページを開発者が追加することができます。 1 つの ActiveX コントロールに複数のプロパティ ページを持つことも可能ですが、このプロパティ ページの遷移や、プロパティ ページ内の変更の適用を通知するタイミングは、プロパティ シート側の動作に依存します。 Visual Studio のデザイナーにおけるプロパティ シートの動作は、Visual Studio のバージョンやデザイナーの種類によっても異なっており、プロパティ ページを切り替えた際に自動的に適用されるものや、プロパティ ページを切り替えても自動的には適用されず個別に [適用] ボタンを押下する必要があるものがあります。 例として A)  .NET Framework の Windows フォーム デザイナーの場合にはプロパティ ページの切り替えで値が適用されますが、B) MFC のダイアログ エディターの場合にはページの切り替えでは変更は反映されず、「適用」ボタンを押下する必要があります。   A)  .NET Framework の Windows フォーム デザイナーの場合 B) MFC のダイアログ エディターの場合 このようなプロパティ ページ上での値の変更が適用されるタイミングを、ActiveX コントロールの開発者が制御することはできません。このため、例えば、ページの切り替えにより変更適用のためのメソッドが呼び出されることを前提としたコントロールの設計は避けていただく必要がある点にご留意ください。 また、ActiveX コントロールのご利用者様におかれましては、プロパティ…


Visual C++ の正規表現ライブラリで発生するバージョン間での動作の違いについて

こんにちは、Visual Studio サポート チームです。 今回は、Visual C++ の正規表現ライブラリ (regex) で発生するバージョン間での動作の違いについてご案内いたします。   Visual C++ では 2008 SP1 で Technical Report 1 (TR1) の regex を取り入れており、以降のバージョンでご利用いただけます。 Visual C++ の regex は C++ 標準に準拠しており、原則としてバージョン間でも互換性がございますので、以前のバージョンの Visual C++ で regex を使用していたコードは、多くの場合新しいバージョンの Visual C++ でもそのまま動作します。 ただし、不具合の修正や標準への準拠などに伴って、バージョン間で動作が異なる部分も稀にございます。特に、regex に限ったことではございませんが、いわゆる処理系依存として C++ 標準に規定されていない部分は、互換性に影響がある変更点としてのご案内なく動作が変わる可能性があります。   具体的な例を挙げると、例えば C++ の regex では正規表現の処理で発生したエラーを regex_error クラスのオブジェクトをスローして通知することとなっていますが、error_complexity、error_space、error_stack といった種類のエラーは、同一の入力条件であっても、Visual C++ のバージョンや実行環境が違えば発生状況も異なることがあります。これは、Visual Studio のバージョン間で、バックトラッキングを伴う検索処理の実装や、複雑度の基準の変更があったことなどが影響しています。…


Visual Studio 2013 が 異常終了 (クラッシュ) する

[更新: 2017年 11月 6日] 本投稿でご説明した 問題は 2017年 11月 6日時点では既に修正されております。現在はVisual Studio 2013 Update5以外のバージョンでもVisual Studio 2013の起動、サインインにおいて本問題は発生いたしません。ご不便、ご迷惑をおかけいたしまして、大変申し訳ございませんでした。 こんにちは、Visual Studio サポートチームです。 今月に入り、Visual Studio 2013 が起動直後に異常終了する、サインインができなくなったという報告をいただいています。 詳細については開発部門と協力し現在調査中ですが、Visual Studio 2013 をご使用いただく際のライセンス認証を行うサーバー側の処理での何らかの問題により発生しているものと認識し、調査を進めています。 調査状況に進捗があり次第、本 Blog も更新いたします。 なお、本問題は Visual Studio 2013 のみで確認されており、Visual Studio 2015、2017 や、オンラインでのライセンス認証を行わない Visual Studio 2012 以前のバージョンでは問題は発生していません。 また、この問題は発生する環境では必ず発生しますので、現時点で問題なく Visual Studio 2013 をご使用いただけていたり、サインインが完了している場合には、今回の問題には合致しませんのでご安心ください。   現時点での対処策について ——————————————– 現在までの調査状況では、Visual Studio 2013 に最新の Update 5 をご適用いただくことで正常に動作することを確認しています。…