乐筑天下

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

从服务器更新外接程序

[复制链接]

24

主题

204

帖子

6

银币

后起之秀

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

铜币
300
发表于 2017-3-31 01:39:43 | 显示全部楼层 |阅读模式
如果需要,我将在以后的帖子中更详细地介绍,但附件是应该适用于2016年的项目,从下面的描述中,查看代码应该能够弄清楚它是如何工作的。这对我来说很有效,因为每个人都在获取最新的dlls、cuix等...在有本地服务器的环境中。
每个人都可以访问服务器,并使用相同的驱动器号进行映射。
对于安装刚刚发出的电子邮件链接到app.bundle文件夹复制和粘贴到他们的%appdata%\欧特克\Application ationPlugins。
用于开发的机器连接到服务器附件包含以下带有简短描述的文件夹,Server Folder-这是为了模仿服务器文件夹,您需要更改此文件夹的路径。
TheSwamp-这包含包含3个项目的解决方案。
TheSwampAddinLoader-这只是打开TheSwampAddinLoader.loadconfig文件以获取“UpdateDirectory”值,该值应该是TheSwampAddInLoaderData.loadData文件和所有需要复制或更新的文件所在的路径。
TheSwampAddin1-该项目的所有文件都首先被复制并覆盖,如果更新,则由TheSwampAddinLoader加载。
TheSwampAddin2-如果更新,则首先复制和覆盖该项目的所有文件,然后由TheSwampAddinLoader加载。
TheSwamp.AddinLoader.bundle这包含带有TheSwampAddinLoader.loadconfigfile的app.bundle文件夹,这是它的工作原理,TheSwamp.AddinLoader.bundle使用AutoLoader功能加载TheSwampAddinLoader.dll。
它在与TheSwampAddinLoader.dll相同的文件夹中查找TheSwampAddinLoader.loadconfig文件,该文件是带有“UpdateDirectory”的xml文件,位置为TheSwampAddInLoaderData.loadData文件。它将使用. loadata文件设置的参数将“UpdateDirectory”中的所有文件复制到TheSwamp.AddinLoader.bundle文件夹中,在附加的项目UpdateDirectory="%userprofile%\Documents\Visual Studio 2015\Projects\Server Folder\TheSwampApps\v20.1"中包含TheSwampAddInLoaderData.loadData文件和要复制的文件。
TheSwampAddInLoaderData.loadData文件告诉要复制的文件类型,是否应该复制子目录,以及要将哪些文件加载到AutoCAD中。下载并解压缩后如何让它工作,通过将“UpdateDirectory”的值更改为~\Server Folder\TheSwampApps\v20.1的位置来编辑~\TheSwamp.AddinLoader.bundle\Contents\Windows\2016\TheSwampAddinLoader.loadconfig文件。
将TheSwamp.AddinLoader.bundle文件夹复制并粘贴到%appdata%\欧特克\Application Plugins文件夹。
启动AutoCAD。
编辑TheSwampAddin1和/或TheSwampAddin2。
使用ServerRelise配置来构建项目(ServerReleass只是发布构建,输出文件夹设置为. loaddata文件的位置,因此它将dll和任何引用的dll放入要复制的文件夹中)。
关闭并启动AutoCADTheSwampAddinLoader.loadconfig
TheSwampAddInLoaderData.loadData
  1.   
  2.      TheSwampAddin1.dll
  3.     TheSwampAddin2.dll   
  4.   

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

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

使用道具 举报

85

主题

404

帖子

7

银币

中流砥柱

Rank: 25

铜币
751
发表于 2017-3-31 08:00:38 | 显示全部楼层
干得漂亮 杰夫. 我一直在研究类似的东西,它使用FileSystemWatcher来查找文件夹更改,然后提示用户。如果用户选择更新,它会启动更新程序,并关闭 Autocad。 更新程序等待 Autocad 关闭并复制文件,然后再次启动 Autocad 并关闭。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2017-3-31 09:39:40 | 显示全部楼层
谢谢,
如果它是用于主流或商业应用程序,那么将需要像你得到的东西。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2017-3-31 13:52:48 | 显示全部楼层
很棒的东西,Jeff,感谢你张贴示例代码和解释。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2017-4-5 11:21:28 | 显示全部楼层
嗨,杰夫H,
伟大的代码,虽然有一个问题。我将 R20.1 更改为 19.0...
它适用于版本14,16和17,但不适用于Autocad 2015?是只有我,还是有其他需要改变的东西?
提前感谢您。
丙烯基橡胶
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2017-4-5 12:06:17 | 显示全部楼层
我不确定我是否将我的文件分解到每年单独的文件夹中(同样,构建也有一个单独的“更新文件夹”),下面是我使用的未修改的文件。这在2015年行之有效,我看不出有什么需要改变的。我得到了2015年,今天晚些时候我会在这里用附带的例子来测试它。
  1.        
  2.        
  3.                
  4.                  
  5.        
  6.        
  7.                
  8.                  
  9.        
  10.        
  11.                
  12.                
  13.                        
  14.                
  15.                  
  16.        

回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2017-4-5 12:13:10 | 显示全部楼层
感谢您的快速回复杰夫·一旦我回到工作中,我会尽快尝试这个。
啤酒时间到了
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2017-4-6 06:00:33 | 显示全部楼层
我仍然不明白为什么插件跳过2015,它读取XML但不加载DLL。
是否可以尝试使用 ADN DevBlog 中附加的测试捆绑包。它可在除 2015 之外的所有版本上运行。
..
命令:RunMeFirst
Unknown 命令“RUNMEFIRST”。 按 F1 获取帮助。
..
而其余的有[ 14,16和17]

命令:RunMeFirst
Hello World
..
有什么想法吗?
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2017-4-6 09:29:17 | 显示全部楼层
我以为我已经安装了2015年,但我必须卸载它。
对于2015年,我认为应该是
  1. SeriesMin="R20.0" SeriesMax="R20.0"

回复

使用道具 举报

85

主题

404

帖子

7

银币

中流砥柱

Rank: 25

铜币
751
发表于 2017-4-6 15:07:49 | 显示全部楼层
Jeff H,我在家里的计算机上安装了一个新版本的Autocad 2015,您知道吗,“THESWAMP”出现在功能区面板上。关闭2015,重启2015。它还在那里,然后我启动了Autocad 2017,它像预期的那样工作。耶!!!但是请等待..再次启动Autocad 2015...过去的...我得到的唯一提示是“嘟嘟”声    public void Initialize()。
{。
尝试一下。
{。
Loader load = new Loader();。
加载,load();。
}。
catch(异常)。
{。
控制台,beep();/// 。
扔;。
}。
你怎么看这件事?。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 13:51 , Processed in 0.242947 second(s), 77 queries .

© 2020-2025 乐筑天下

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