У меня есть собственный C-код, я скомпилировал код в vc ++ 2008 и его скомпилировали с 'x64' в качестве платформы в диспетчере конфигурации, и у меня есть приложение c #, которое также скомпилировано с 'x64' в качестве платформы и вызывает dll функция. Я использовал Dllimport для вызова функции из DLL, как показано ниже.
using System.Runtime.InteropServices;
namespace test
{
public partial class Form1 : Form
{
[DllImport("mtest", CharSet = CharSet.Ansi)]
public extern static void e_path(string path);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("test");
swe_set_ephe_path("E:\\Gan");
}
}
}
во время запуска приложения я получаю сообщение об ошибке, как показано ниже:
Произошло необработанное исключение типа 'System.DllNotFoundException' в test.exe
Дополнительная информация: невозможно загрузить DLL 'mydll': указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)
Не могли бы вы помочь мне решить эту проблему? Если я запускаю и DLL, и приложение, оно работает нормально. Но мне нужно, чтобы функции dll вызывались из моих ASP-страниц, поэтому мне нужны и dll, и приложение как 64-битные.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: , когда я проверил dll на наличие зависимостей, используя средство обхода зависимостей для 64-битных систем. Это показывает, что Kernel32.dll, NTDLL.DLL и mydll.dll - x64.
Пожалуйста, помогите мне с этим.
Заранее спасибо,