質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

  • Visual Studio

    2011questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Visual Basic .NET

    105questions

    Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

VisualStudioでResourcesファイルへ画像の読み込み

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 386

harumi

score 284

既存のプロジェクトに対してResourcesファイルに新たにインポートを試みたところ、ビルド時にエラーが発生してしまいました。
ログは以下の通りです

エラー    1    The "GenerateResource" task failed unexpectedly.
System.OutOfMemoryException: 種類 'System.OutOfMemoryException' の例外がスローされました。
   場所 System.IO.MemoryStream.set_Capacity(Int32 value)
   場所 System.IO.MemoryStream.EnsureCapacity(Int32 value)
   場所 System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   場所 System.IO.BinaryWriter.Write(Byte[] buffer)
   場所 System.Runtime.Serialization.Formatters.Binary.__BinaryWriter.WriteSingleArray(NameInfo memberNameInfo, NameInfo arrayNameInfo, WriteObjectInfo objectInfo, NameInfo arrayElemTypeNameInfo, Int32 length, Int32 lowerBound, Array array)
   場所 System.Runtime.Serialization.Formatters.Binary.__BinaryWriter.WriteObjectByteArray(NameInfo memberNameInfo, NameInfo arrayNameInfo, WriteObjectInfo objectInfo, NameInfo arrayElemTypeNameInfo, Int32 length, Int32 lowerBound, Byte[] byteA)
   場所 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteArray(WriteObjectInfo objectInfo, NameInfo memberNameInfo, WriteObjectInfo memberObjectInfo)
   場所 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo)
   場所 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
   場所 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
   場所 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph)
   場所 System.Resources.ResourceWriter.WriteValue(ResourceTypeCode typeCode, Object value, BinaryWriter writer, IFormatter objFormatter)
   場所 System.Resources.ResourceWriter.Generate()
   場所 System.Resources.ResourceWriter.Dispose(Boolean disposing)
   場所 System.Resources.ResourceWriter.Close()
   場所 Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(IResourceWriter writer)
   場所 Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(String filename)
   場所 Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(String inFile, String outFile)
   場所 Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper log, ITaskItem[] assemblyFilesList, ArrayList inputs, ArrayList outputs, Boolean sourcePath, String language, String namespacename, String resourcesNamespace, String filename, String classname, Boolean publicClass)
   場所 Microsoft.Build.Tasks.GenerateResource.Execute()
   場所 Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)    CompMng
エラー    2    ファイル 'C:\Users\Harumi_Sagawa\Documents\git\company_simulation_app\CompMng\obj\Debug\CompMng.Resources.resources' を開けません: プロセスはファイルにアクセスできません。別のプロセスが使用中です。     CompMng

メモリーは16ギガあるので足りなくなることはないと思うのですがこのエラーが出てしまいました。
プロジェクトを再起動してもう一度ビルドをしてみたところ、ビルドは通ったのですが、画像を使う画面に遷移した際に例外が発生してしまいました。

例外の画像

Visual Studioを使った経験がないので小さなことかもしれないですが全然わからずハマってしまっています。
わかる方いらっしゃいましたら教えてくださいお願いします

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • harumi

    2018/06/27 12:01 編集

    新規に作成したプロジェクトには問題なく画像を入れることができたので、おそらく画像に問題はないと思っていたのですが他に確かめる方法があれば教えてください

    キャンセル

  • SurferOnWww

    2018/06/27 12:29

    「確かめる方法」というのは残念ながら分かりません。新たにプロジェクトを作りなおしてそちらでは問題ないのなら、問題のある方は諦めて、そちらで進めればよさそうですが。訳の分からない問題の原因を探すのに時間を費やすのは時間の無駄では?(お客に説明する必要があるとかなら話は別かもしれませんが)

    キャンセル

  • harumi

    2018/06/27 14:24

    完成しているアプリケーションのデザイン部分のみの修正なので1から作り直すのは難しいんです..僕の技術的にも時間的にも。

    キャンセル

回答 1

checkベストアンサー

0

以下のような理由が考えられるかも知れません。
・ファイルが破損している
・その画像ファイルの形式が、.Net側で処理できない。
(例えば、該当ファイルの拡張子が一般的なものと同じ(.Jpg等)であったとしても、拡張フォーマットのような正規フォーマット以外のものが使われているかも知れません。)
・リソースにインポートしようとするファイル名に問題がある。

画像ファイルの形式・サイズはどのようになっていますでしょうか?
また、別画像(例えば添付頂いた画面キャプチャ画像)をリソースにインポートするとどうでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/27 12:06

    だめでした。
    新規に作成したプロジェクトには画像を追加することができたので、おそらく画像が問題ないと思います。壊れているかの確認方法がわからないので断言はできませんが...
    ファイル名も英語、日本語ともに試してみましたがだめでした。

    画像ファイルのサイズは900x350で、ビットの深さは32でした。
    他の画像も試してみたのですが、同じエラーになりました。画像を追加すると問題のエラーが発生してしまします

    キャンセル

  • 2018/06/27 18:04 編集

    リソースに追加しようとした画像ファイルに問題はなさそうですね。
    ところで、そのプロジェクトに既に追加されているリソースファイルはどの程度あるのでしょうか?
    リソースがあまりにも多いとエラーが発生するようです。
    参考までに以下のリンクを貼っておきます。
    https://social.msdn.microsoft.com/Forums/ja-JP/1cec7bd6-ce6d-44b2-8e3a-3464f042845f?forum=vsgeneralja
    この場合、リソース化は諦めて、外部ファイルとして配付(例えば実行ファイルと一緒に)することになるでしょう。

    キャンセル

  • 2018/06/28 12:17

    すでに100枚以上入っていますリソースに入れるのはあきらめたほうがいいようですねありがとうございます

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.33%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Visual Studio

    2011questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Visual Basic .NET

    105questions

    Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。