小编Pet*_*cek的帖子

在C++/CLI中是可见的

我正在将C++转换为C++/CLI,并希望将一些托管类公开为COM对象.在C#中它很容易并且设置[ComVisible]并继承自界面(也是ComVisible)完成了这项工作.但是,作为C++/CLI的C++项目构建不会导出DllRegisterServer.

这是示例项目(从VS 2008中的CLR控制台应用程序项目开始).

#include "stdafx.h"

using namespace System;
using namespace System::Runtime::InteropServices;

[ComVisible(true)]
[Guid("E3CF8A18-E4A0-4bc3-894E-E9C8648DC1F0")]
[InterfaceType(ComInterfaceType::InterfaceIsDual)]
public interface class ITestInterface
{
    void TestMethod();
};


[ComVisible(true)]
[Guid("1514adf6-7cb0-4561-9fbb-b75c0467149b")]
public ref class CliComClass : ITestInterface
{
    public: 
        virtual void TestMethod() 
        {
        }
};

int main(array<System::String ^> ^args)
{
    Console::WriteLine(L"Hello World");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我在输出.exe上运行regsvr32时,我收到错误,说没有找到DllRegisterServer.我试过谷歌一些帮助,但没有成功.

c# com c++-cli comvisible

7
推荐指数
1
解决办法
4116
查看次数

在 Linux 上安装特定版本的 .NET Core 运行时

如何安装最新版本的 .NET Core 运行时已经很好地解释了,基本上

须藤 apt-get 安装 dotnet-runtime-3.1

如果我们想安装旧版本怎么办?

微软提供dotnet-install.sh. 这是可能的dotnet-install.sh -Version 3.1.0 -Runtime aspnetcore。但是,此脚本将二进制文件写入 $HOME/.dotnet 下。也没有列出运行时dotnet --info

如何安装 dotnet --info 识别的特定版本的 .NET Core 运行时?

.net linux ubuntu .net-core

4
推荐指数
1
解决办法
2271
查看次数

在MFC的CStatic中使用事件并将它们传递给父级

我正在构建MFC应用程序,其中CDialog带有源自CStatic的子控件.

我想接收CStatic控件的鼠标事件,所以我将"Notify"它设置为true.现在,我可以直接通过消息映射接收消息事件MyStatic:


class CMyStatic : public CStatic
{
afx_msg void OnLButtonDown(UINT nFlags, CPoint point); // Gets invoked
DECLARE_MESSAGE_MAP()
}

问题是,从现在开始,当鼠标超过MyStatic子节点时,父CDialog不会接收鼠标事件.我可以MyStatic手动发送它们但有没有办法让它们自动通过?还能够MyStatic使用消息地图接收它们吗?

events mfc event-bubbling

1
推荐指数
1
解决办法
2995
查看次数

标签 统计

.net ×1

.net-core ×1

c# ×1

c++-cli ×1

com ×1

comvisible ×1

event-bubbling ×1

events ×1

linux ×1

mfc ×1

ubuntu ×1