我有一个Visual Studio 2017解决方案,包含以下项目:
CppClrQuestion -- Solution
CUnamagedLib -- C++ Unmanaged Windows DLL
CUnmanagedLib.cpp
CUnmanagedLib.h
ClrManagedLib -- C++/CLR DLL Project
ClrManagedLib.cpp
ClrManagedLib.h
CSharpDotNetConsoleApp -- C#/.NET
Program.cs
CSharpDotNetConsoleApp
ClrManagedLib
和
ClrManagedLib数据库
CUnamagedLib
.
一切正常。但是,当我运行C应用程序时,会出现以下异常:
System.IO.FileNotFoundException: 'Could not load file or assembly 'CppClrLib2.dll' or one of its dependencies. The specified module could not be found.'
如果我改变
这样它就不会打电话来了
以下是源文件内容供参考:
CUnmanagedLib.cpp文件
#include "stdafx.h"
__declspec(dllexport) int GetNumUnmanaged(void) {
return 5;
}
#pragma once
__declspec(dllimport) int GetNumUnmanaged(void);
ClrManagedLib.cpp文件
#include "stdafx.h"
#include "..\CUnamangedLib\CUnmanagedLib.h"
#include "ClrManagedLib.h"
int ClrManagedLib::Class1::GetNum() {
return GetNumUnmanaged();
}
ClrManagedLib.h公司
#pragma once
using namespace System;
namespace ClrManagedLib {
public ref class Class1
{
public:
int GetNum();
};
}
namespace CSharpDotNetConsoleApp {
class Program {
static void Main(string[] args) {
var managedObj = new ClrManagedLib.Class1();
}
}
}