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

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

新規登録して質問してみよう
ただいま回答率
86.02%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

受付中

WindowsFormで使用してたライブラリはWPFでも使用可能か?

abenosan00
abenosan00

総合スコア33

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

1回答

0グッド

0クリップ

511閲覧

投稿2022/02/18 07:51

編集2022/02/18 08:19

はじめまして、久しぶりに質問させていただきます。
前提として、
WindowsFormのアプリケーションをWPFに書き換え移行しようと考えております。

WindowsFormで使用していたライブラリをWPFプロジェクトの「依存関係」>「アセンブリ」にライブラリを参照追加して
コンパイルすると以下のようなエラーが発生してしまいます。

単に、ライブラリがWPFに互換性がないのか、それともWPFではWindowsFormで使用していたライブラリを使用することは不可能なのか、またこれを解決する方法はあるのでしょうか。

ご教示のほどよろしくお願いいたします。

下記のような例文がでます。
【例外がスローされました】
System.Reflection.TargetInvocationException: 'Exception has been thrown by the target of an invocation.'
内部例外
BadImageFormatException: Could not load file or assembly 'PLCCommLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. 間違ったフォーマットのプログラムを読み込もうとしました。

イメージ説明

以下のような質問にはグッドを送りましょう

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

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

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

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

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

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

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

適切な質問に修正を依頼しましょう。

Zuishin

2022/02/18 07:53

互換性のないものはあります。 どうにもならないこともあります。 ケースバイケースです。
Zuishin

2022/02/18 08:23

BadImageFormatException なら、WPF どうこういう話ではありません。 x86 専用のアセンブリか何かでしょう。
abenosan00

2022/02/18 08:24

ですが、x64でも使用できておりました。同じPCで
Zuishin

2022/02/18 08:30

https://docs.microsoft.com/ja-jp/dotnet/api/system.badimageformatexception?view=net-6.0 > この例外は、ダイナミックリンクライブラリ (.dll ファイル) のファイル形式または実行可能ファイル (.exe ファイル) が、共通言語ランタイムが想定している形式に準拠していない場合にスローされます。 特に、次のような状況では例外がスローされます。 「想定している形式に準拠していない場合にスローされます」ということなので、使用するアプリケーションが古いものであれば、そのアプリケーションはそのライブラリを想定していたのでしょう。
abenosan00

2022/02/18 08:35

なるほど、確かにビルドx86でコンパイルしたら起動できました。。。 x64で起動する場合はライブラリをx64で対応できるようにしないといけないということですね。。。 ご回答ありがとうございます。助かりました。
Zuishin

2022/02/18 08:37 編集

「解決した方法」に、Q & A の形で、第三者が質問と回答を読んで問題が理解できるよう回答してください。

回答1

0

使用可能のものもあれば、不可能のものもあります。

そいつは不可能、ということなんでしょうね

投稿2022/02/18 08:28

y_waiwai

総合スコア86066

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

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

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

このような回答には修正を依頼しましょう。

2022/02/18 08:44

こちらの回答が他のユーザーから「過去の低評価」という指摘を受けました。

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

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

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです