필자는 Philippe Leefsma가 여기에있는 1에있는 "선택 실행 중 커서 아래 엔티티 검색 중"의 프로그램을 사용하고 있습니다. ACAD2014에서 작동했지만 현재는 ACAD2016을 사용하고 있습니다. acdb19.dll 및 autocad2016의 DLLImport 때문에 acdb20.dll이 필요합니다. 프로그램이 더 dll 버전을 더로드하도록 만드는 방법이 있습니까? netload 및 assembly.loadfrom 사용하여 시도하고 둘 다 작동하지 않습니다. 최선의 AutoCAD의 각 릴리스에 대한 두 가지 버전을 컴파일 그래서autocad dllimport by autocad 버전
0
A
답변
0
DLL을 가져 오기는 컴파일시에 설정됩니다.
일단 프로젝트가 컴파일되면 application.bundle 폴더를 만들어 자동 로더를 설정할 수 있습니다. 이 폴더는 c : \ programdata \ Autodesk \ applicationPlugins에 배치 할 수 있습니다. application.bundle 폴더에서 Application이라는 하위 폴더를 만들고 거기에 컴파일 된 .DLL 파일을 저장합니다.
로더는 PackageContents.xml이라는 XML 파일로 제어됩니다. 다음은 xml 파일의 몇 가지 예제 코드입니다. -
<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Name="My AutoCAD App"
Description="Does something in AutoCAD"
Icon="./Application/MyIcon.ico"
Author="Paul Nelson">
<CompanyDetails Name="Paul Nelson"
Url="http://www.stackoverflow.com"
Email="[email protected]">
</CompanyDetails>
<Components>
<!-- define the min and max versions of AutoCA in the next line -->
<RuntimeRequirements OS="Win64" Platform="AutoCAD" SeriesMin="R19.0" SeriesMax="R22.0" />
<ComponentEntry
ModuleName=".\Application\MyApp.dll"
LoadOnAutoCADStartup="true"
LoadOnCommandInvocation="false"
AppDescription="This is assembly MyApp."
AppName="My AutoCAD App"
AppType=".NET">
<Commands GroupName="My Apps">
<Command Local="MYAPP" Global="MYAPP" />
</Commands>
</ComponentEntry>
</Components>
</ApplicationPackage>
마지막 팁 - 마지막 .dll 파일 이름에 공백이 포함되지 않았는지 확인하십시오.
정보 주셔서 감사합니다. 우리는 사내 dll 파일을 자동으로 업데이트하는 수단으로 application.bundle을 사용합니다. 그곳에서 버전 체크를하는 것은 나에게 일어나지 않았다. – North