乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 142|回复: 11

面向多个 AutoCAD 产品版本:源代码可移植性

[复制链接]

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2012-5-30 15:49:13 | 显示全部楼层 |阅读模式

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2012-6-1 14:05:02 | 显示全部楼层
翻译错误代码(429):请求 QPS 超过限制。
回复

使用道具 举报

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2012-6-4 15:31:20 | 显示全部楼层
翻译错误代码(429):请求 QPS 超过限制。
回复

使用道具 举报

0

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
4
发表于 2012-7-18 13:10:25 | 显示全部楼层
翻译错误代码(429):请求 QPS 超过限制。
回复

使用道具 举报

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2012-7-18 13:28:35 | 显示全部楼层

MSDN
回复

使用道具 举报

0

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
4
发表于 2012-7-18 23:53:56 | 显示全部楼层

VB.NET.中没有'静态',VB.NET等价物是'共享'。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2012-7-19 14:47:54 | 显示全部楼层
需要。NET 3.5才能在VB.NET中使用
,但您不能将扩展类添加到现有命名空间,因此这似乎需要不同的方法。
我使用以下代码为我的2009-2012项目创建了一个新模块,并且在我的2013项目中不使用此模块。
  1. Imports Autodesk.AutoCAD.ApplicationServices
  2. Imports Autodesk.AutoCAD.Windows
  3. Imports System.Drawing
  4. Public Module DocumentExtension
  5.     Function GetAcadDocument(ByRef doc As Document) As Object
  6.         Return doc.AcadDocument
  7.     End Function
  8.     Function GetStatusBar(ByRef doc As Document) As Object
  9.         Return doc.StatusBar
  10.     End Function
  11. End Module
  12. Public Module WindowExtension
  13.     Function GetSize(ByVal win As Window) As Size
  14.         Return win.Size
  15.     End Function
  16.     Sub SetSize(ByVal win As Window, ByVal value As Size)
  17.         win.Size = value
  18.     End Sub
  19.     Function GetIcon(ByVal win As Window) As Icon
  20.         Return win.Icon
  21.     End Function
  22.     Sub SetIcon(ByVal win As Window, ByVal value As Icon)
  23.         win.Icon = value
  24.     End Sub
  25.     Function GetLocation(ByVal win As Window) As Point
  26.         Return win.Location
  27.     End Function
  28.     Sub SetLocation(ByVal win As Window, ByVal value As Point)
  29.         win.Location = value
  30.     End Sub
  31. End Module

回复

使用道具 举报

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2013-4-25 20:44:26 | 显示全部楼层
一些问题和征求意见……
1.是否有任何文档列出了这些年来AutoCAD.NET API中添加的所有突破性更改和新位?我知道arxmgd中的“新内容”部分。每年的chm文件,但是否在一个地方整理
2.版本:考虑到2006年版支持.NET,2009年版改变了很多,2012年版是第一个支持.NET 4.0的版本,您的底线在哪里?对我来说,我目前已经将v2007&8添加到组合中,但我很想放弃它们,因为API中缺少了一些部分,而且使用旧版本的客户更可能是免费的或病态的客户,最好避免和/或使用长棒来处理。我的直觉是从v2010开始,你呢
3.除了缺少的位(属性、方法等),我正在根据TT的想法和代码使用扩展方法来填补漏洞。这不是一个问题。
4.您如何设置项目/解决方案以满足不同版本的需求
我已经销毁了一个Visual Studio模板.csproj文件(和一个.csproz.user文件,必须稍后添加),以使用条件和通配符设置具有不同库和.NET framework引用的不同版本。这有点脆弱,因为VisualStudio在将模板构建到项目中时喜欢填充通配符,所以我也将原始通配符保留在注释中,这样我就可以重新处理它们。如果您尝试此操作,源代码管理是必须的。
4a。既然我已经提到了VisualStudio模板,我真的应该整理一下(这应该很有趣,TT知道我在这里说什么),如果有人感兴趣,就把它贴在这里。感兴趣的
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2013-4-25 21:37:26 | 显示全部楼层
我不记得线程,但我描述了我处理针对多个版本的项目的方法之一,即将特定于版本的源文件存储在不同的文件夹中,以及在所有版本中使用的“通用”文件夹中,然后构建单独的项目,将这些文件添加为链接(因此它们不会复制到项目文件夹)
我不知道有任何文档描述了API版本之间的差异,在这方面,您可以自行决定,但在同一程序集的两个不同版本上进行差异分析将显示它们
http://www.hanselman.com/blog/ManagingChangeWithNETAssemblyDiffTools.aspx
这是一个很好的例子
回复

使用道具 举报

7

主题

60

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
88
发表于 2013-4-30 03:12:50 | 显示全部楼层
是否有人使用分部类和/或方法来“链接”类的“公共或共享”部分?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-4-30 16:35 , Processed in 1.069247 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表