最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

入門:使用SolidWorks API開發(fā)應(yīng)用程序

2023-04-08 10:46 作者:HongfengZhu  | 我要投稿

SolidWorks?API可用于任何兼容 COM 的語言(即 C++、C#、VB.NET 和 Visual Basic)??梢允褂?SolidWorks?API開發(fā)不同類型的應(yīng)用程序。請參閱下面的比較表,以選擇適合要求的正確應(yīng)用類型。

.NET 項(xiàng)目的參考

SolidWorks?是一個(gè)基于 COM 的應(yīng)用程序,因此當(dāng)從 .NET 應(yīng)用程序使用 SolidWorks?API 時(shí),需要添加程序集互操作以實(shí)現(xiàn)與 COM 的通信。

獲取所需類型庫的一般有兩種方法。

COM 類型庫

通過將類型庫 (*.tlb) 文件的引用直接添加到 .NET 項(xiàng)目 (sldworks.tlb, swconst.tlb, swpublish.tlb)。這可以通過瀏覽相應(yīng)的類型庫文件或在 COM 選項(xiàng)卡中查找注冊的引用來完成。這些步驟等效于使用 tlbimp(類型庫導(dǎo)入程序,https://learn.microsoft.com/zh-cn/dotnet/framework/tools/tlbimp-exe-type-library-importer),因?yàn)?Visual Studio 將在后臺將類型庫轉(zhuǎn)換為互操作。轉(zhuǎn)換后的等效 .NET 互操作將在項(xiàng)目中使用。

主互操作程序集 (PIA)

通過添加隨 SolidWorks?安裝一起提供的互操作程序集(SolidWorks.Interop.sldworks.dll、SolidWorks.Interop.swconst.dll、SolidWorks.Interop.swpublish.dll)。這些類型的互操作稱為主互操作程序集 (PIA)?;ゲ僮鲙煳募挥谝韵履夸浿?,SolidWorks?安裝文件夾\api\redist(面向框架 4.0 及更高版本的項(xiàng)目)和 SolidWorks?安裝文件夾\api\redist\CLR2(面向框架 2.0 和 3.5 的項(xiàng)目)。

對于面向框架 4.0 的項(xiàng)目,我建議將“嵌入互操作類型(https://learn.microsoft.com/zh-cn/dotnet/framework/interop/type-equivalence-and-embedded-interop-types)”選項(xiàng)設(shè)置為 False。否則,由于類型轉(zhuǎn)換問題,在調(diào)用 SolidWorks?API 時(shí),應(yīng)用程序可能會出現(xiàn)不可預(yù)測的行為,但是這種情況在極少數(shù)情況下會發(fā)生。

差異

區(qū)別之一是名稱和命名空間不同。對于從類型庫生成的互操作,默認(rèn)命名空間為 SldWorks、SWPublished 等(可以使用 tlbimp 實(shí)用程序更改默認(rèn)命名空間),而命名空間名稱中的 SldWorks.Interop 前綴在其他情況下使用。

但還有另一個(gè)主要區(qū)別。

從 COM 類型庫生成的互操作不是強(qiáng)類型名稱(https://learn.microsoft.com/zh-cn/dotnet/standard/assembly/create-use-strong-named)。

而隨 SolidWorks?安裝一起提供的主互操作程序集(PIA)是強(qiáng)類型名稱。

如果您正在構(gòu)建進(jìn)程外獨(dú)立應(yīng)用程序(https://www.codestack.net/solidworks-api/getting-started/stand-alone/)(除非您的 *.exe 支持插件機(jī)制并且可以加載引用 SolidWorks?互操作的庫),則幾乎沒有區(qū)別,但如果多個(gè)加載項(xiàng)引用不同版本的未簽名(非強(qiáng)名稱)互操作,則可能會導(dǎo)致進(jìn)程內(nèi)加載項(xiàng)應(yīng)用程序(https://www.codestack.net/solidworks-api/getting-started/add-ins/)出現(xiàn)重大問題。這個(gè)視頻(P1)中也展示了類似的問題。

最佳實(shí)踐

  • 使用安裝附帶的主互操作程序集 (PIA),避免使用 COM 類型庫。

  • 不要直接從安裝文件夾引用互操作。這將導(dǎo)致在互操作未放在同一目錄中或未添加到 GAC 的其他計(jì)算機(jī)上編譯項(xiàng)目時(shí)失敗。特別地,這將不利于實(shí)施持續(xù)集成/持續(xù)交付 (CI/CD,https://blog.xarial.com/ci-cd/)。

  • 最好是將互操作放在 NuGet 服務(wù)器上(https://www.nuget.org/),并將其添加為包。您可以使用內(nèi)部托管服務(wù)器或使用公共服務(wù)器。

  • 如果上述選項(xiàng)不可行,則將庫添加到與項(xiàng)目相同的文件夾中(例如,在解決方案 *.sln 文件旁邊創(chuàng)建文件夾 threepty 并在其中復(fù)制互操作)并瀏覽此文件夾中的互操作以添加相對路徑引用。

文章翻譯自https://www.codestack.net/

僅供學(xué)習(xí)使用。


入門:使用SolidWorks API開發(fā)應(yīng)用程序的評論 (共 條)

分享到微博請遵守國家法律
图们市| 德惠市| 于都县| 昌邑市| 固镇县| 安阳县| 中宁县| 天门市| 清水河县| 达拉特旗| 平舆县| 来凤县| 古田县| 荥经县| 宝山区| 鄂尔多斯市| 东乡族自治县| 平谷区| 武隆县| 库车县| 弋阳县| 山阳县| 黄大仙区| 林西县| 沿河| 九龙坡区| 丰顺县| 驻马店市| 阜平县| 普安县| 内江市| 绿春县| 中卫市| 循化| 林芝县| 大同县| 晋州市| 招远市| 开封县| 南部县| 玉龙|