QA@IT
«質問へ戻る

注釈位置がおかしいので改行追加

36
本文
 - x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
 - x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード
 - x64OSでAnyCPUなプロジェクトを実行すると、x64用CPU固定アセンブリをロード
+
 ※プロジェクトを2つに分けてターゲットCPUを固定すれば簡単ですが、二重管理になってしまうので避けたいです。
 
 以下調査した結果です。AnyCPUでないなら1プロジェクトで管理できそうです。

ターゲットCPUがAnyCPUではないアセンブリを、CPUに応じて動的にロードしたい

現在C#で書かれた x86 アプリケーションの x64 対応をしています。検討した結果、WOW64は利用しないことにしました。
そこで以下の様なアセンブリを1プロジェクトで同時に使うにあたり、良い方法がないか検討しています。

  • ネイティブDLL(x86, x64の両方用意されていて、ファイル名は同じ)をP/Invokeで実行するアセンブリ(以下ネイティブアセンブリと表記)
  • ターゲットCPUがx86またはx64のアセンブリ(例:Sysem.Data.SQLite)(以下CPU固定アセンブリと表記)

理想的には、AnyCPUな1プロジェクトで以下の様なかたちを実現したいです。何か良い方法はないでしょうか?

  • x86OSでAnyCPUなプロジェクトを実行すると、x86なネイティブアセンブリをロード
  • x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
  • x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード
  • x64OSでAnyCPUなプロジェクトを実行すると、x64用CPU固定アセンブリをロード

※プロジェクトを2つに分けてターゲットCPUを固定すれば簡単ですが、二重管理になってしまうので避けたいです。

以下調査した結果です。AnyCPUでないなら1プロジェクトで管理できそうです。
ネイティブアセンブリの場合、x86用DLL配置ディレクトリとx64用DLL配置ディレクトリを用意して、SetDllDirectoryでDLL検索場所をCPUに応じて動的にセットすればいいかと思います。
CPU固定アセンブリの場合は良い方法が見つかりません。ビルド時に参照アセンブリを変更する方法は見つけましたが、x86用とx64用に成果物を別管理する必要があるので、求めている解決方法ではありません。

現在C#で書かれた x86 アプリケーションの x64 対応をしています。検討した結果、WOW64は利用しないことにしました。
そこで以下の様なアセンブリを1プロジェクトで同時に使うにあたり、良い方法がないか検討しています。

- ネイティブDLL(x86, x64の両方用意されていて、ファイル名は同じ)をP/Invokeで実行するアセンブリ(以下ネイティブアセンブリと表記)
- ターゲットCPUがx86またはx64のアセンブリ(例:Sysem.Data.SQLite)(以下CPU固定アセンブリと表記)

理想的には、AnyCPUな1プロジェクトで以下の様なかたちを実現したいです。何か良い方法はないでしょうか?

- x86OSでAnyCPUなプロジェクトを実行すると、x86なネイティブアセンブリをロード
- x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
- x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード
- x64OSでAnyCPUなプロジェクトを実行すると、x64用CPU固定アセンブリをロード

※プロジェクトを2つに分けてターゲットCPUを固定すれば簡単ですが、二重管理になってしまうので避けたいです。

以下調査した結果です。AnyCPUでないなら1プロジェクトで管理できそうです。
ネイティブアセンブリの場合、x86用DLL配置ディレクトリとx64用DLL配置ディレクトリを用意して、SetDllDirectoryでDLL検索場所をCPUに応じて動的にセットすればいいかと思います。
CPU固定アセンブリの場合は良い方法が見つかりません。[ビルド時に参照アセンブリを変更する](http://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/a38c2de1-be9c-4b35-80fd-bf184b000e6e)方法は見つけましたが、x86用とx64用に成果物を別管理する必要があるので、求めている解決方法ではありません。

改行を入れるとMarkdownの箇条書きと認識されます

1138
本文
 現在C#で書かれた x86 アプリケーションの x64 対応をしています。検討した結果、WOW64は利用しないことにしました。
 そこで以下の様なアセンブリを1プロジェクトで同時に使うにあたり、良い方法がないか検討しています。
+
 - ネイティブDLL(x86, x64の両方用意されていて、ファイル名は同じ)をP/Invokeで実行するアセンブリ(以下ネイティブアセンブリと表記)
 - ターゲットCPUがx86またはx64のアセンブリ(例:Sysem.Data.SQLite)(以下CPU固定アセンブリと表記)
 
 理想的には、AnyCPUな1プロジェクトで以下の様なかたちを実現したいです。何か良い方法はないでしょうか?
+
 - x86OSでAnyCPUなプロジェクトを実行すると、x86なネイティブアセンブリをロード
 - x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
 - x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード

ターゲットCPUがAnyCPUではないアセンブリを、CPUに応じて動的にロードしたい

現在C#で書かれた x86 アプリケーションの x64 対応をしています。検討した結果、WOW64は利用しないことにしました。
そこで以下の様なアセンブリを1プロジェクトで同時に使うにあたり、良い方法がないか検討しています。

  • ネイティブDLL(x86, x64の両方用意されていて、ファイル名は同じ)をP/Invokeで実行するアセンブリ(以下ネイティブアセンブリと表記)
  • ターゲットCPUがx86またはx64のアセンブリ(例:Sysem.Data.SQLite)(以下CPU固定アセンブリと表記)

理想的には、AnyCPUな1プロジェクトで以下の様なかたちを実現したいです。何か良い方法はないでしょうか?

  • x86OSでAnyCPUなプロジェクトを実行すると、x86なネイティブアセンブリをロード
  • x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
  • x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード
  • x64OSでAnyCPUなプロジェクトを実行すると、x64用CPU固定アセンブリをロード ※プロジェクトを2つに分けてターゲットCPUを固定すれば簡単ですが、二重管理になってしまうので避けたいです。

以下調査した結果です。AnyCPUでないなら1プロジェクトで管理できそうです。
ネイティブアセンブリの場合、x86用DLL配置ディレクトリとx64用DLL配置ディレクトリを用意して、SetDllDirectoryでDLL検索場所をCPUに応じて動的にセットすればいいかと思います。
CPU固定アセンブリの場合は良い方法が見つかりません。ビルド時に参照アセンブリを変更する方法は見つけましたが、x86用とx64用に成果物を別管理する必要があるので、求めている解決方法ではありません。

現在C#で書かれた x86 アプリケーションの x64 対応をしています。検討した結果、WOW64は利用しないことにしました。
そこで以下の様なアセンブリを1プロジェクトで同時に使うにあたり、良い方法がないか検討しています。

- ネイティブDLL(x86, x64の両方用意されていて、ファイル名は同じ)をP/Invokeで実行するアセンブリ(以下ネイティブアセンブリと表記)
- ターゲットCPUがx86またはx64のアセンブリ(例:Sysem.Data.SQLite)(以下CPU固定アセンブリと表記)

理想的には、AnyCPUな1プロジェクトで以下の様なかたちを実現したいです。何か良い方法はないでしょうか?

- x86OSでAnyCPUなプロジェクトを実行すると、x86なネイティブアセンブリをロード
- x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
- x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード
- x64OSでAnyCPUなプロジェクトを実行すると、x64用CPU固定アセンブリをロード
※プロジェクトを2つに分けてターゲットCPUを固定すれば簡単ですが、二重管理になってしまうので避けたいです。

以下調査した結果です。AnyCPUでないなら1プロジェクトで管理できそうです。
ネイティブアセンブリの場合、x86用DLL配置ディレクトリとx64用DLL配置ディレクトリを用意して、SetDllDirectoryでDLL検索場所をCPUに応じて動的にセットすればいいかと思います。
CPU固定アセンブリの場合は良い方法が見つかりません。[ビルド時に参照アセンブリを変更する](http://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/a38c2de1-be9c-4b35-80fd-bf184b000e6e)方法は見つけましたが、x86用とx64用に成果物を別管理する必要があるので、求めている解決方法ではありません。

質問を投稿

ターゲットCPUがAnyCPUではないアセンブリを、CPUに応じて動的にロードしたい

現在C#で書かれた x86 アプリケーションの x64 対応をしています。検討した結果、WOW64は利用しないことにしました。
そこで以下の様なアセンブリを1プロジェクトで同時に使うにあたり、良い方法がないか検討しています。

  • ネイティブDLL(x86, x64の両方用意されていて、ファイル名は同じ)をP/Invokeで実行するアセンブリ(以下ネイティブアセンブリと表記)
  • ターゲットCPUがx86またはx64のアセンブリ(例:Sysem.Data.SQLite)(以下CPU固定アセンブリと表記)

理想的には、AnyCPUな1プロジェクトで以下の様なかたちを実現したいです。何か良い方法はないでしょうか?

  • x86OSでAnyCPUなプロジェクトを実行すると、x86なネイティブアセンブリをロード
  • x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
  • x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード
  • x64OSでAnyCPUなプロジェクトを実行すると、x64用CPU固定アセンブリをロード ※プロジェクトを2つに分けてターゲットCPUを固定すれば簡単ですが、二重管理になってしまうので避けたいです。

以下調査した結果です。AnyCPUでないなら1プロジェクトで管理できそうです。
ネイティブアセンブリの場合、x86用DLL配置ディレクトリとx64用DLL配置ディレクトリを用意して、SetDllDirectoryでDLL検索場所をCPUに応じて動的にセットすればいいかと思います。
CPU固定アセンブリの場合は良い方法が見つかりません。ビルド時に参照アセンブリを変更する方法は見つけましたが、x86用とx64用に成果物を別管理する必要があるので、求めている解決方法ではありません。

現在C#で書かれた x86 アプリケーションの x64 対応をしています。検討した結果、WOW64は利用しないことにしました。
そこで以下の様なアセンブリを1プロジェクトで同時に使うにあたり、良い方法がないか検討しています。
- ネイティブDLL(x86, x64の両方用意されていて、ファイル名は同じ)をP/Invokeで実行するアセンブリ(以下ネイティブアセンブリと表記)
- ターゲットCPUがx86またはx64のアセンブリ(例:Sysem.Data.SQLite)(以下CPU固定アセンブリと表記)

理想的には、AnyCPUな1プロジェクトで以下の様なかたちを実現したいです。何か良い方法はないでしょうか?
- x86OSでAnyCPUなプロジェクトを実行すると、x86なネイティブアセンブリをロード
- x86OSでAnyCPUなプロジェクトを実行すると、x86用CPU固定アセンブリをロード
- x64OSでAnyCPUなプロジェクトを実行すると、x64なネイティブアセンブリをロード
- x64OSでAnyCPUなプロジェクトを実行すると、x64用CPU固定アセンブリをロード
※プロジェクトを2つに分けてターゲットCPUを固定すれば簡単ですが、二重管理になってしまうので避けたいです。

以下調査した結果です。AnyCPUでないなら1プロジェクトで管理できそうです。
ネイティブアセンブリの場合、x86用DLL配置ディレクトリとx64用DLL配置ディレクトリを用意して、SetDllDirectoryでDLL検索場所をCPUに応じて動的にセットすればいいかと思います。
CPU固定アセンブリの場合は良い方法が見つかりません。[ビルド時に参照アセンブリを変更する](http://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/a38c2de1-be9c-4b35-80fd-bf184b000e6e)方法は見つけましたが、x86用とx64用に成果物を別管理する必要があるので、求めている解決方法ではありません。