gpt4 book ai didi

c# - 在 Powershell 中使用 C++CLI .dll 作为程序集

转载 作者:行者123 更新时间:2023-11-30 18:20:04 25 4
gpt4 key购买 nike

我想使用 C++CLI(托管 C++).dll 在 Powershell v3 x86 和(非托管)C++ 应用程序之间进行交互。

我尝试使用 Add-Type[System.Reflection.Assembly]::LoadWithPartialName( ) 在 powershell 中,但出现错误:“无法加载文件或程序集”

然后我为 C++CLI 类编写了一个 C# 包装器,使用相同的方法成功地将它加载到 Powershell 中,但是当我进行引用 C++CLI 代码的调用时,我得到了同样的错误。 C# 代码本身似乎不会对 C++CLI .dll 的调用产生任何问题,但 Powershell 会。

访问器.h:

using namespace System;

namespace Accessor {

static public ref class Greeting
{
public:
static void HelloWorld();
};
}

访问器.cpp:

#include "Accessor.h"

void Accessor::Greeting::HelloWorld()
{
Console::WriteLine("Hello World!\n");
}

包装器.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Accessor;

namespace AccessWrap
{
static public class Wrapper
{
static public void HelloWorld()
{
Greeting.HelloWorld();
}
}
}

完成此任务的正确方法是什么?我尝试了很多我在网上找到的其他方法,但没有一个对我有用。

编辑:这是我在尝试直接加载 C++CLI .dll 时遇到的确切错误: http://imgur.com/HF5VRkf

最佳答案

我不小心使用了 64 位 powershell,而不是我想的 x86。我切换到 x86,它工作正常。

感谢大家的帮助。

关于c# - 在 Powershell 中使用 C++CLI .dll 作为程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37979962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com