我在Visual Studio中编写了一个C++类库,它仅定义了一个调用Python的函数:
应用程序处于发布配置。
每当我尝试在本地计算机上运行应用程序时,它总是会出现错误:
我的问题是:我能否在C# UWP项目中引用C++类库?或者UWP应用程序的安全性不允许这样做?
还是因为Python.h的原因?
编辑:
我使用DLL项目和包装它的运行时组件构建了项目,现在我有这个错误:
类型' System
我将用户添加到了名为“Everyone”的DLL对象中(我不确定如何以其他方式授予权限),但仍然出现错误。
#pragma once
#include <Python.h>
extern "C"
__declspec(dllexport)
void python()
{
Py_Initialize();
PyRun_SimpleString("2 + 2");
}
我在同一解决方案中创建了另一个项目,这是一个C#空白通用应用程序。我尝试引用之前提到的项目生成的DLL:
using System;
...
namespace StartupApp
{
...
sealed partial class App : Application
{
private const string CPPPythonInterfaceDLL = @"pathtodll";
[DllImport(CPPPythonInterfaceDLL, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
private static extern void python();
public static void Python()
{
python();
}
...
public App()
{
...
Python();
}
...
}
}
应用程序处于发布配置。
每当我尝试在本地计算机上运行应用程序时,它总是会出现错误:
The program '[2272] StartupApp.exe' has exited with code -1073741790 (0xc0000022).
Activation of the Windows Store app 'ab6a8ef2-1fa8-4cc7-b7b3-fb7420af7dc3_7dk3a6v9mg4g6!App' failed with error 'The app didn't start'.
我的问题是:我能否在C# UWP项目中引用C++类库?或者UWP应用程序的安全性不允许这样做?
还是因为Python.h的原因?
编辑:
我使用DLL项目和包装它的运行时组件构建了项目,现在我有这个错误:
类型' System
'System.DllNotFoundException' occurred in StartupApp.exe but was not handled in user code
Additional information: Unable to load DLL 'pathtodll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
我将用户添加到了名为“Everyone”的DLL对象中(我不确定如何以其他方式授予权限),但仍然出现错误。