создал крошечный проект C ++ в Visual Studio 2022 Edition.
Код: Выделить всё
#pragma once
#include
extern "C" __declspec(dllexport) int Multiply(int a, int b);
#include "pch.h"
#include "Calc.h"
int Multiply(int a, int b) {
return a * b;
}
< /code>
Использование проекта C# для вызова функции Multiply. Примечание, какой -то код не показан здесь < /p>
[DllImport("Calc.dll", CallingConvention = CallingConvention.StdCall)]
static extern int Multiply(int a, int b);
public MainWindow()
{
InitializeComponent();
CheckFileExists();
}
private void CheckFileExists()
{
string res = File.Exists("Calc.dll") ? "File Exists" : "File Not Found";
txtCheck.Text = res; // Shows Calc.dll exists
}
private void btnMultiply_Click(object sender, RoutedEventArgs e)
{
int z = Multiply(5, 4); // Shows 0x8007007E ERROR
txtRes.Text = z.ToString();
}
< /code>
Файл calc.dll был скопирован в каталог bin для этого проекта.
При запуске проверка FileExists показывает, что файл calc.dll существует, но призыв к умножению не снят, давая систему. используется для поиска пропущенных модулей.
DeperiateWalker < /strong>, сообщивший о отсутствующем API-MS-win-crt-runtime-l1-1-0.dll и отсутствующий API-MS-Win-Core-Apiequery-L1-1-0.dll, Ext-MS-Win-advapi32-rigistry-l1-1-0.dll, ext-ms-win-kernel322-letme-lmem-l1-0-0.dll, ext-ms-win-ken3222-letetet-lmem-l1-0.dll, ext-ms-win-kernel3222-letetete-l1-0.dll, ext-ms-win-ken Подобные функции, указывающие на то, что Vcruntime 1.0 не был установлен - однако, пытаясь установить это с веб -сайта Microsoft, он сказал, что он не может установить, когда была установлена более новая версия.
Кроме того Отсутствует). /> Спасибо < /p>
Подробнее здесь: https://stackoverflow.com/questions/795 ... on-depende
Мобильная версия