c # - Revit api - tệp .csproj plugin nhiều phiên bản
Tôi đang cố gắng tạo một hello Worldtrình cắm thêm nhiều phiên bản đơn giản cho Revit và tôi đã tìm thấy bài viết này và tôi đang cố gắng làm theo. tuy nhiên, tôi không đi được xa. Tôi không quá quen thuộc với cách hoạt động của tệp .csproj. Tôi đã tạo các plugin trước đây cho từng năm Revit nhưng không phải nhiều phiên bản.
Đây là mã .csProj của tôi bên dưới. Tôi đang cố gắng bắt đầu với quy mô nhỏ và chỉ xử lý .net framework 4.5.2 là Revit 2018. Bạn cũng sẽ tìm thấy các đoạn mã ở dưới cùng cho các thuộc tính dự án của tôi. Không còn mở cho Start External Application: nên tôi không biết làm thế nào để gỡ lỗi nó thông qua Revit.
Bất kỳ và tất cả trợ giúp / hướng dẫn được đánh giá cao.
Với mã .csproj hiện tại bên dưới, tôi gặp lỗi bật lên này:
.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net452<!--;net46;net47--></TargetFrameworks>
<Configurations>Debug;Release</Configurations>
<!--<Platforms>x64</Platforms>-->
<OutputPath>bin\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|Any CPU' ">
<DefineConstants>DEBUG</DefineConstants>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'"> <PlatformTarget>x64</PlatformTarget> <DebugType>none</DebugType> <DebugSymbols>false</DebugSymbols> </PropertyGroup> <PropertyGroup Condition=" '$(TargetFramework)' == 'net452' ">
<DefineConstants>$(DefineConstants);REVIT2018</DefineConstants> <!--<AssemblyName>helloWorld</AssemblyName>--> </PropertyGroup> <ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
<!--<Reference Include="AdWindows">
<HintPath>......\2018\AdWindows.dll</HintPath>
<EmbedInteropTypes>false</EmbedInteropTypes>
<Private>false</Private>
</Reference>-->
<Reference Include="RevitAPI">
<HintPath>C:\Program Files\Autodesk\Revit 2018\RevitAPI.dll</HintPath>
<EmbedInteropTypes>false</EmbedInteropTypes>
<Private>false</Private>
</Reference>
<Reference Include="RevitAPIUI">
<HintPath>C:\Program Files\Autodesk\Revit 2018\RevitAPIUI.dll</HintPath>
<EmbedInteropTypes>false</EmbedInteropTypes>
<Private>false</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Reference Include="PresentationCore" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
</Project>
đoạn trích thuộc tính dự án
Trả lời
Cảm ơn Ehsan đã chia sẻ liên kết Github của anh ấy. Tôi đã có thể tìm ra nó.
Tôi đã thêm 2 dòng này vào nhóm thuộc tính của mình với tên assembly.
<TargetFrameworkProfile />
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
và sau đó thêm chúng bên dưới trong các nhóm thuộc tính riêng biệt, dường như cho phép tôi chạy chúng trong các phiên bản khác nhau. Tôi mới chỉ thử nghiệm 2018 và 2019 cho đến nay nhưng nó có vẻ đầy hứa hẹn.
<PropertyGroup Condition="$(Configuration.Contains('2018'))"> <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> <RevitVersion>2018</RevitVersion> </PropertyGroup> <PropertyGroup Condition="$(Configuration.Contains('2019'))">
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
<RevitVersion>2019</RevitVersion>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.Contains('2020'))"> <TargetFrameworkVersion>v4.7</TargetFrameworkVersion> <RevitVersion>2020</RevitVersion> </PropertyGroup> <PropertyGroup Condition="$(Configuration.Contains('2021'))">
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<RevitVersion>2021</RevitVersion>
</PropertyGroup>
Nhờ bài đăng của bạn, tôi đã học được vài điều về plug-in nhiều phiên bản. Bây giờ, đối với câu hỏi trực tiếp, bạn có thể gỡ lỗi thư viện lớp của mình bằng cách khởi động Revit khi bạn bắt đầu quá trình gỡ lỗi. Và cài đặt như sau:
đặt dự án của bạn làm dự án khởi động (nhấp chuột phải vào dự án trên bảng "Giải pháp Khám phá" => Đặt làm Dự án khởi động) để nó sẽ là dự án đầu tiên chạy khi gỡ lỗi
Mở tab "Thuộc tính dự án", chọn "Gỡ lỗi"
Từ "Bắt đầu hành động" trên Gỡ lỗi, chọn "Bắt đầu chương trình bên ngoài". sau đó nhấp vào nút "duyệt" để chọn tệp thực thi cho Revit. Theo mặc định, nó phải ở:
C: \ Program Files \ Autodesk \ your_version_of_revit
Lưu quy trình, xây dựng dự án và nhấn F5 (hoặc bất kỳ phím nào bạn đặt để gỡ lỗi)
Điều này hơi muộn vì bạn đã giải quyết được vấn đề của mình, nhưng hy vọng nó có thể hữu ích trong một số tình huống tương tự.