2016-05-09 13 views
0

2つのソリューションで従来のアプリケーションを継承しました。 1つの解決策は、Windowsフォーム(UI)アプリケーションであり、もう1つはWindowsサービスです。DLLの代わりにバイナリアセンブリを参照しても問題ありません。

Windowsサービスソリューションは、ユーザーインターフェイスexeを参照しています。これは、アプリケーションに既に存在する実装です。しかし、Windowsサービスを実行している場合

私は、次のエラーが表示さ:

...posting service main loop failed Could not load file or assembly 'xxx.xxx.xxx.xxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=abcc533bcb766348' or one of its dependencies. An attempt was made to load a program with an incorrect format

を私が最初に私が成功しなかったこれ、.NETバージョン4.5に.NETバージョン3.5から、このソリューションをアップグレードする使命を帯びて、まだこの参照されました私に問題を引き起こしている。

誰かがC#の.exeバイナリを参照する効果について教えてもらえますか?クラスライブラリに参照されているソリューションを変更することはできません.Net C#Windowsフォームツールを使用して構築されたユーザーインターフェイスがあるため、出力タイプは「Windowsアプリケーション」です。

すべてのサポートは非​​常に高く評価されています。ありがとう

+0

サービスで使用されているコードをWinformsアプリケーションからクラスライブラリに抽出しないのはなぜですか?次に、winformsとサービスプロジェクトの両方からそのクラスlibを参照してください – Nino

答えて

2

EXEアセンブリまたはDLLアセンブリを参照しても.NETでは違いはありませんが、どちらもアセンブリであり、.NETでは問題なく処理できます。

あなたの場合の問題は、32ビットと64ビットのプラットフォームビルドで互換性がないようです。プロジェクトが64ビット用に構築されており、32ビットシステムで実行しようとしている可能性があります。

+0

すばやい応答をいただきありがとうございます。私は今すぐに行きますが、私が知っている限り、私は明らかに両方のソリューションを32ビット(つまりPlatform Target = x86) ) – Sizons

+0

おそらく64ビットのサードパーティ参照を参照していますか? –

+0

再チェックの後、「Any CPU」用にコンパイルするように設定された他の場所に気付きました。私はすぐに最新のテストをする予定です。それからあなたに連絡します。あなたの助けをもう一度感謝し、本当にそれを感謝します。 – Sizons

関連する問題