DLL不工作
我在Visual Studio中用几个命令创建了一个dll。它在我的电脑上运行得很好,但当我在另一台电脑上下载它时,它无法识别我的命令。它在任何时候都不会发出错误消息。它就是不工作(好像我没有加载它)。
有人能帮忙吗? 需要更多信息。
AutoCAD的哪些版本?
什么环境(操作系统、x86、x64)?
什么NET Framework是您的目标?
有任何COM(互操作)程序集引用吗?
您确实将非框架程序集引用设置为Copy Local==False,对吗?
您从哪里进行网络加载(本地磁盘或网络)?
如果是后者,则为前置。NET 4,您记得在Acad中启用LoadFromRemoteSources XmlAttribute吗。exe。配置?
... 等
干杯 只是想补充一下。。。您的代码可能有错(尽管是在不知不觉中)。
例如,如果Initialize()调用引发异常,则忽略其余代码。。。您在调试时是否已完成代码?
干杯 你好,黑匣子,
非常感谢您的回复。
我正在使用Civil 3d 2015。另一台电脑有Civil 3D 2014。
两者都是x64 Windows 7
我的目标是。NET Framework 4.5
我正在从本地磁盘进行网络加载。
我在调试时逐步完成了代码,一切似乎都很好。
我不确定这是否相关,但在即时窗口中,我得到了许多类似这样的错误:
系统窗户。数据错误:5:BindingExpression生成的值对目标属性无效。。。。 基于此列表:
http://spiderinnet1.typepad.com/blog/2011/11/versions-of-autocad-net-framework-runtime-and-visual-studio.html
建议针对Framework 4.0重新编译。
这就是我的推荐信。
我试着瞄准。NET Framework 4.0,但在我尝试构建时会出现数百个错误。 我没有访问Civil 3d的权限,因此我将避免过多输入,但要澄清:
2014年可能需要针对Framework 4.0和相应的ManagedARX DLL的单独编译版本。
Civil 3d 2015可能需要框架4.5(或更新版本)进行开发。 我想我解决了:
我将编译选项卡上的目标CPU更改为x64。现在它在2014年和2015年同时运行
感谢你们的努力。非常感谢。 FWIW-
除非可以使用平台相关的COM引用,否则您*应该*能够使用“任何CPU”进行编译。
从技术上讲,2014年是。NET 4.0,2015年为。NET 4.5,程序集编译为。NET 4.0将加载到更新的版本中,只要使用的API仍然可用(hooray向后兼容性!)。
此外,由于我通常使用AutoCAD、Civil 3D等。在开发时,我使用它作为快捷工具。NET Framework兼容性参考:
(vl load com)(defun c:NETVER()((lambda(vrsn)(提示(cond)((vl string search“16.2”vrsn)”\n.NET Framework 1.1”);2006((vl string search“17.0”vrsn)“\n.NET Framework 2.0”);2007((vl string search“17.1”vrsn)“\n.NET Framework 2.0”);2008((vl string search“17.2”vrsn)“\n.NET Framework 3.0”);2009((vl string search“18.0”vrsn)“\n.NET Framework 3.5”);2010((vl字符串搜索“18.1”vrsn)\ n.NET Framework 3.5”);2011((vl string search“18.2”vrsn)“\n.NET Framework 4.0”);2012((vl string search“19.0”vrsn)“\n.NET Framework 4.0”);2013年((vl string search“19.1”vrsn)“\n.NET Framework 4.0”);2014((vl string search“20.0”vrsn)“\n.NET Framework 4.5”);2015 ;
页:
[1]