31677


Windows7で作成したプログラムがWindows10では動作しなくなりました(Windows7では動作します)

C#からVC++(どちらも32bitでビルド)で作成されたDLLをDllImportで呼び出していたのですが  
エラーを調べていたら  
**DLL 'XXX.dll' を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E)**  
というエラーになりました

単純に

[code]

    [DllImport("xxx.dll", EntryPoint = "foofoo", CallingConvention =  CallingConvention.Cdecl)]
    public extern static uint FooFoo();
    
[/code]

として呼び出しているだけなのですが・・・・

C#のexeとVC++のdllは同じフォルダに配置しています

c#のVisual Studioは2013UPDATE5(.NETのターゲットバージョン4.5としてビルド)  
VC++のVisual Studioは2008SP1

ランタイムが足りないのかと思い、Windows10にVC++2008SP1のランタイムも手動で入れてみたのですが同じエラーメッセージのままでした

エラーメッセージは単純にxxx.dllを見つけられないだけのようですが  
他にはどのように原因が考えられるでしょうか


CC BY-SA 3.0
2016-12-07T08:05:58.777
30985
2017-01-06T16:38:20.297
15047
question
c# visual-studio .net
C#で作成したプログラム内部からVC++のDLLをWindows10だと呼び出せなくなる


C++で作成されたDLLが、依存しているDLLがない場合にも同様のエラーとなります。  
Dependency Walkerで必要なDLLを調べてみてください。  
よくあるのがVCruntimeのいれ忘れ、x86x64のいれ間違いです。


CC BY-SA 3.0
2017-01-06T16:38:20.297
31677
2017-01-06T16:38:20.297
20114
30985
answer