トップ回答者
windows form デザイナーのデザインでNameを変更するとビルドエラー

質問
-
お世話になっております。
VS2013 Express C++/Cli にてwindows formアプリケーションを開発しております。
(なぜC#でないのか等言いたいことはあると思いますが、諸事情あってのことですので、ご容赦ください)
デザイナーからLabelをFormに張り付けて、プロパティのデザイン(Name)を変更し、ビルドしたところ、
エラー 1 error c10100b1: Failed to load file "C:\Users\*****\Desktop\****\****\****\****\HMI.exe". U _U!$kL dK
ファイル mt.exe
というエラーが発生します。(* は伏せさせていただきますが、日本語パスはありません)
元の(Name) label1等に戻すとビルドは成功します。
またこの現象は必ず起きるわけではなく、うまくNameを変更できる場合もあるため何が原因なのかが掴めず困っています。
何かしらの情報や解決策をお持ちの方がいらっしゃいましたら、ご教授いただけると幸いです。
■補足
ソリューション構成を 「Debug」→「Release」に変更したところ、まったく同じコードで
うまくビルドすることができました。何かしら関係しているのでしょうか。
回答
-
お世話になります。
VS2010でビルドを試してみたらどうだろうと考え、実行してみたところ、別のエラーコードが
発生しました。そのエラーコードで検索すると過去に同様の問題のスレッドを発見しました。
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/15d781f6-7711-43cd-bce9-4e792d379aaa/general-error-c101008d-failed-to-write-the-updated-manifest-to-the-resource-of-file?forum=vcgeneralja
リンク先にある通り、アンチウイルスソフト(当方の環境ではsymantec endpoint protectionです)を一時的に無効に
してビルドしたところ正常にビルドできました。
なぜアンチウイルスソフトが・・・という疑問は残りますが、これ以上は質問内容と離れていってしまうと思いますので、
ひとまず解決とさせていただきます。
- 回答としてマーク mokkesa 2014年11月4日 7:32
すべての返信
-
お世話になります。
VS2010でビルドを試してみたらどうだろうと考え、実行してみたところ、別のエラーコードが
発生しました。そのエラーコードで検索すると過去に同様の問題のスレッドを発見しました。
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/15d781f6-7711-43cd-bce9-4e792d379aaa/general-error-c101008d-failed-to-write-the-updated-manifest-to-the-resource-of-file?forum=vcgeneralja
リンク先にある通り、アンチウイルスソフト(当方の環境ではsymantec endpoint protectionです)を一時的に無効に
してビルドしたところ正常にビルドできました。
なぜアンチウイルスソフトが・・・という疑問は残りますが、これ以上は質問内容と離れていってしまうと思いますので、
ひとまず解決とさせていただきます。
- 回答としてマーク mokkesa 2014年11月4日 7:32
-
なぜアンチウイルスソフトが・・・という疑問は残りますが、これ以上は質問内容と離れていってしまうと思いますので
推測に過ぎませんが、ウィルス対策ソフトは常時監視で「ファイルが閉じられたときにチェックをかける」という実装がされている可能性があります。
今回のケースではコンパイル・ビルドによって exe がまず生成され、その後処理として exe を開きなおしてマニフェストを付与する mt.exe が実行されます。この間のタイミングでウィルス対策ソフトがチェックをかけ、mt.exe のファイルオープンを拒否したのではないか?と考えると、しっくりきます。