64ビットマシンで作業する開発者と32ビットマシンで作業する開発者がいるが、半分のチームでx86にする必要があるアンマネージドアセンブリを参照する必要がある場合もう半分はx64ですか? 64ビットリグの誰かが最新のものになるたびに手動で参照を更新する以外に解決策がありますか?混在した.NET開発環境のアンマネージドx64アセンブリ
答えて
あなたはビルドの一環としてこれをやりたいですか?
参照元のDLLをソースツリーの永続的な位置からローカルプロジェクトにコピーするためのビルド前のステップを作成します。 $(ConfigurationName)または$(PlatformName)マクロを使用して、実際にコピーされるアンマネージDLLのバージョンを選択します。 DLLは、構成名またはプラットフォーム名と同じ名前の別々のフォルダに保持されます。
x64マシンの開発者が64ビット版をうまく実行するのはむしろ奇妙です。 Visual Studioではx64モードでの編集+続行はサポートされていませんが、それはかなり損失です。回避策は簡単ですが、Platform Targetをx86に設定してください。あなたのアンマネージドDLLの問題も自動的に解決します。
それは奇妙で、私は3つの黒い羊とそれについて議論するつもりですが、それには解決策があればさらに良いでしょう。私はそれがかなりフリンジケースだと思うが、私は見続けるだろう。 – PeteK
コードを少し編集する別の解決策があります。答えはMilan Gardianからthis questionに記載されています。
基本的には、アセンブリの両方の(32ビットと64ビット)バージョンにアクセスできる場合は、実行時にロードするアセンブリを決定する独自のアセンブリ参照ハンドラを作成する必要があります。私はちょうどこのソリューションを自分自身で実装しましたが、それは魅力的に機能します。
私の状況は次のとおりです。
Windows 7 64ビット版の「Any CPU」を対象とした.NETプログラムを開発しています。私は32ビットのアセンブリ参照を追加し、Copy Localをfalseに設定しました。ビルド後のイベントを使用して32ビットと64ビットのアセンブリを出力フォルダにコピーし、32ビットアセンブリに参照と異なる名前を付けるようにします。これは、.NETのデフォルトのアセンブリリゾルバで参照を解決できないため、カスタムアセンブリリゾルバを強制的に起動してその処理を実行したいからです。実行時に正しいアセンブリがロードされ、コンパイル時にエラーは発生しません。私は実際にこれが現在32ビットOSで動作していることを実際に確認する時間がなかったことに注意してください。ただし、動作しない理由は何もありません。
- 1. オンラインレール開発環境
- 2. ハイブリッド開発環境
- 3. 開発環境(ワードプレス)
- 4. phonegap開発環境
- 5. 開発環境でのキャッシュ?
- 6. Facebookの開発環境
- 7. GAE開発 - 開発環境セットアップ(HotSwap)
- 8. laravel開発環境sqliteデータベースが存在しません
- 9. 軽量WebLogic開発環境
- 10. asp.net制作/開発環境
- 11. asp.netウェブページ開発環境
- 12. Solaris(SPARC)開発環境
- 13. Excelアドイン開発環境
- 14. レール開発環境循環依存エラー
- 15. Dot Net Nukeモジュール用のモジュール開発ソリューション/環境/ベストプラクティス
- 16. Windows Live ID C#.netの開発環境を持つOAuth
- 17. .netアプリケーションがwin2003 x64 sp2環境で実行するとエラー0xc000142が発生しました
- 18. .NETのMonoTouchを使用したiPhoneアプリケーションの開発 - どの開発環境ですか?
- 19. シームレスにプロダクションに移行するApache環境の開発環境
- 20. 開発環境と生産環境を持つGit
- 21. linuxのデスクトップ環境の開発
- 22. ローカル環境でのアプリケーションの開発
- 23. SharePoint Server 2010の開発環境のセットアップエラー
- 24. App Engineの開発環境 - db.get()ReferencePropertyクエリランダムエラー
- 25. Django開発環境の複製/複製
- 26. 実稼働環境への開発ヘルプ
- 27. ウェブ開発環境の選択とダウンロード
- 28. haskell開発環境用ツール? (Linux)の
- 29. Apache Apex最小限の開発環境
- 30. AndroidとEclipseの開発環境
実際、これは設計時です。ビルドプロセスのためのソリューションが用意されていますが、開発者の中にはDebug | x64。 – PeteK