程序如何使用非静态类库?

时间:2019-01-12 16:57:57

标签: c# dll maxscript

我有一个Windows应用程序,该应用程序通过公共属性将字符串和浮点数据发送到类。 Windows应用程序运行时,会将相同的DLL程序集加载到Maxscript(3dsmax)中。我希望,如果我尝试访问类属性,那么我在两个应用程序中都将获得相同的数据,但事实并非如此。显然,数据是在运行时与实例类之间来回传递的,但是当Maxscript访问相同的数据时,该数据是不确定的。

Windows应用程序正在创建该类的实例。 Maxscript将“加载程序集”作为dotNetObject。 Windows应用程序发送/接收的数据是否仅在本地实例而不是在myClass.dll文件本身中完成?我知道可以在运行时通过Maxscript将C#应用程序与3dsmax接口。有人帮忙解释一下这里可能出什么问题吗?

1 个答案:

答案 0 :(得分:0)

Windows Communication Foundation也称为WCF,是一个很好的API。在3dsmax上为AutoDesk工作时,我成功使用了它。我用它将maxscript命令发送到应用程序(即3dsmax)以进行自动化测试。

最后但并非最不重要的是,以上“ TheGeneral”的评论完全正确。

如果您想以一种更“原生”的方式在进程之间共享数据,那么我建议您使用内存映射。 https://docs.microsoft.com/en-us/windows/desktop/memory/file-mapping