WebView2を組み込んで、C#アプリを作成すると、ビルド時に以下の警告が発生する場合がある。 Show 参照コンポーネント 'Microsoft.VCLibs.Desktop' が見つかりませんでした。 参照コンポーネント '~\packages\Microsoft.Web.WebView2.1.0.1054.31\build\..\lib\Microsoft.Web.WebView2.Core.winmd' が見つかりませんでした。 「参照」ツリーにも警告マークあり。
一応、エラーではなく警告なので、ビルドで作成されたexeファイルは問題なく使用できる。 警告を消す方法
Surface6を買って、VisualStudioやらOffice2016やらをセットアップして、仕事を始めてみると、これまではビルドできていたプロジェクトが、エラーが出てビルドできない。なぜ?急に?こういうのばっかり。 他のプロジェクトでは、Microsoft.Office.Coreが見つからないというのもあった。 パソコンを変えたのが理由なのはわかる。多分、前のパソコンにはこれらのDLLがあったのだろう。しかし、VisualStudio2017をセットアップして、Office2016も入れて、さらにVisualStudioのOffice/SharePoint開発も追加しているのに、なにが足りないというのか。 調査少し調べてみると、VBIDEのほうは「Microsoft Visual Basic for Applications Extensibility 5.3」という名前で昔から使われているものらしい。確かにエクセルだと参照できる。ふーむ。 下の方に表示されているパスを参考に探してみると、WindowsAppフォルダは隠しフォルダになっていて、しかも「C:\Program Files\WindowsApps」を開くことができない。 セキュリティ情報を見てみると、管理者グループにはフォルダ内を見る権限はあるみたいなのだが、実際は開けない。 所有者を変えればよいのかもしれないが、そこまでする意味もなさそうなので、ここでやめておく。 VBIDEはVBAの開発環境まわりだと思うのだけど、マイクロソフトとしてはVBAまわりの古いDLLはあまり使ってほしくないという感じなのかなあ、、、まあ、気持ちはわかります。 解決策エラーが起きていたプロジェクトは、かなり昔に作ったもので、そのときに「VBIDE」が追加されたのだろう。そして今では不要になったのだろう。参照から外してビルドしてみたら問題なくビルドできた。これでOK。 このブログの人気の投稿 SQL Serverで頭記のエラーが起きたときは、文字列の数字を数値型の値に変換しようとして桁があふれた場合が多い。 たとえば '123456789012' という数字を0という数値と比較すると、数字を数値に変換して比較しようとして桁あふれが(算術オーバーフロー)が起きる select 1 where '123456789012' = 0 SQLServer2014だとエラーメッセージが少し変わって下記のようになる。 varchar の値 '123456789012' の変換が int 型の列でオーバーフローしました。
数字を数値に変換するSQLを修正すれば、このエラーは消える。テーブル設計がひどくて、varchar型の列に数字を登録して数値として扱う運用をしていたりすると、なかなか簡単ではないかもしれない。 * ここからは事例の紹介。 SQL Serverで何気ないSQLが急にエラーになってびっくりすることがある。たとえば、このSQLは調子よく動いていたのだが、データによってエラーが起きて、あたふたしてしまった。 select case when isnull([機関番号],0) = 0 then 5521111111 else [機関番号] end このSQLには1つ問題があって「機関番号」がvarchar(10)の列というのがミソ。ここに '5555555555' という大きな数字を登録したら、エラーが起きた。 エラーの原因を調べるためにSQLを少し書き換えてみる SQL(1) select case when isnull('5555555555', 0) = 0 then 5521111111 else 0 end SQL(2) select isnull('5555555555', 0)
SQL(3) select case when isnull('5555555555', '') = '' then 5521111111 else 0 end SQL(4) select case when 1=0 then 5521111111 else '55555555 WinFormsのタブコントロールには、タブの表示を切り替える方法が無くて不便だ。たとえば、下記のような指定ができない。 this.tabControl1.TabPages[0].Visible = false; と思っていたのだが、実はできた。
コンボボックスに表示するデータを設定するのを簡単にする工夫をまとめます。コンボボックスのDataSourceプロパティを上手に使いましょう。(2017/8/30追記) DLLファイルの参照方法は?DLL の参照. 「ソリューション エクスプローラ」ペインで、プロジェクトを右クリックし、次に「参照の追加」をクリックします。. 「参照の追加」ウィンドウで、「参照」タブをクリックします。. ドロップダウン・リストで、FileNet. ... . DLL ファイルを選択します。. 「OK」をクリックします。. ソリューションエクスプローラー どこ?ソリューション エクスプローラーを開く
[ソリューション エクスプローラー] ツール ウィンドウが表示されていない場合は、Visual Studio のメニュー バーから [表示]>[ソリューション エクスプローラー] を使用するか、Ctrl+Alt+L キーを押して開くことができます。
|