VS2017でビルドが失敗したのにエラー一覧に表示されない件

ビルドしたいプロジェクトAがあって、Aから別のB.dllファイルを参照しているときに、Aのターゲットフレームワークが、Bのよりも古いと、ビルドエラーが起きるようだ。


たとえば、
  • Aのターゲットフレームワークが4.5.2で、
  • Bのターゲットフレームワークが4.6.2で、
  • AからB.dllを参照していると
エラーが起きる。

厳しい条件だなあとは思うけど、まあ、それは良い。問題は「エラー一覧」には何も表示されないので、エラーが起きたことがわからないこと。

ビルドできたと思ってデバッグしようとすると、ビルドされていないので「できません」となる。なぜ???

「出力」を見ると、ようやく、そこにエラーが表示されているのに気がつく。

1>------ ビルド開始: プロジェクト: mm70toolbox検索条件, 構成: Debug Any CPU ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1988,5): warning MSB3274: プライマリ参照 "mmWinFormsUtils" は、".NETFramework,Version=v4.6.2" フレームワークに対して作成されているため、解決できませんでした。これは現在ターゲットされているフレームワーク ".NETFramework,Version=v4.5.2" よりも新しいバージョンです。
1>C:\Users\t-sawada\Documents\ws\mm50\試作70\クライアント機能\検索\mm70toolbox検索条件\ucマイ条件.cs(14,27,14,42): error CS0234: 型または名前空間の名前 'mmWinFormsUtils' が名前空間 'Wellcle.Multimarker' に存在しません (アセンブリ参照があることを確認してください)。
2>------ ビルド開始: プロジェクト: debugApp, 構成: Debug Any CPU ------
2>  debugApp -> C:\Users\t-sawada\Documents\ws\mm50\試作70\クライアント機能\集計\debugApp\bin\Debug\debugApp.exe
========== ビルド: 1 正常終了、1 失敗、4 更新不要、0 スキップ ==========

これ、すごく困るので、きちんとエラー表示して欲しいなあ。そのうち直るのかな。



しかしターゲットフレームワークの条件はちょっと厳しいなあ。共通で使うDLLは低目のバージョンでビルドしておいた方がよいのかも。


コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。