玩命的奔马 · Visual Studio 2012 ...· 9 月前 · |
活泼的骆驼 · PD-1之后,新免疫检查点来了,这些企业走在 ...· 11 月前 · |
暗恋学妹的黑框眼镜 · thymeleaf模板中的js脚本里使用sh ...· 1 年前 · |
阳刚的牛排 · C 数组 | 菜鸟教程· 1 年前 · |
坚强的玉米 · css自定义复选框样式_51CTO博客_cs ...· 1 年前 · |
我正在创建一个适用于文件的Windows 10应用程序。对于我使用的图形用户界面(C#)和文件处理,我想使用C语言(VisualStudio2019)。
我尝试过这些解决办法(没有一种有效):
尝试通过使用DllImport (在C#控制台应用程序中工作)将其添加到UWP中。
C文件中的代码:
#include<stdio.h>
_declspec(dllexport) int getNumberOfFiles()
}
C# UWP应用程序中的代码:
[DllImport(@"...\WorkFilesDll\Debug\WorkFilesDll.dll", EntryPoint = "getNumberOfFiles", CallingConvention = CallingConvention.Cdecl)]
internal static extern int getNumberOfFiles();
引发以下异常:
System.DllNotFoundException HResult=0x80131524 Message=Unable以加载DLL '...\WorkFilesDll\Debug\WorkFilesDll.dll‘或其依赖项之一:拒绝访问。(HRESULT例外: 0x80070005 (E_ACCESSDENIED))
尝试添加与引用相同的dll (引用->添加引用->浏览->添加->确定)。按“确定”按钮后,以下消息指示失败:
不能添加对"...\WorkFilesDll\Debug\WorkFilesDll.dll“的引用。请确保文件是可访问的,这是一个有效的程序集或COM组件。
我发现了很多这样的问题和文章,但我没有看到明确的答案,或者答案对我没有用。其中一些是:
我也读过关于静态库的文章。我未能执行这些建议。
如何将C代码放在UWP (C#)中?
是静态库是我的应用程序的答案吗?
哪个更适合这个应用程序:DLL还是静态库?为什么?
谢谢!
发布于 2021-01-13 05:53:49
请检查以下步骤:
MyDll1
)。
//MyDll1.h
#pragma once
extern "C" _declspec(dllexport) int Sum(int a, int b);
//MyDll1.cpp
#include "pch.h"
#include "MyDll1.h"
int Sum(int a, int b)
return a + b;
}
Class
,您可以根据需要使用该类或添加其他类(
add > needed > Code > Midl (.idl)
)。新类必须从
midl
文件中生成。您可以获得有关引用
文档
的编写api的更多信息。
Class
类为例。在
Windows Runtime Component(C++/WinRT)
项目中包含dll的头文件。
//Class.h
阳刚的牛排 · C 数组 | 菜鸟教程 1 年前 |