c # - Revit api - file .csproj del plugin multi versione
Sto cercando di creare un semplice hello Worldplug-in multi-versione per Revit e ho trovato questo articolo che sto cercando di seguire. tuttavia, non sto andando molto lontano. Non ho molta familiarità con il funzionamento del file .csproj. Ho già creato plug-in per singoli anni di Revit ma non per versioni multiple.
Ecco il mio codice .csProj di seguito. Sto cercando di iniziare in piccolo e gestire solo .net framework 4.5.2 che è Revit 2018. Troverai anche frammenti in basso per le proprietà del mio progetto. Non è più disponibile un'apertura per Start External Application: quindi non so come eseguire il debug tramite Revit.
Qualsiasi aiuto / direzione è apprezzato.
Con l'attuale codice .csproj di seguito, ottengo questo messaggio di errore:
.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>
frammenti di proprietà del progetto
Risposte
Grazie a Ehsan per aver condiviso il suo collegamento Github. Sono stato in grado di capirlo.
Ho aggiunto queste 2 righe al mio gruppo di proprietà con il nome dell'assembly.
<TargetFrameworkProfile />
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
e poi li ho aggiunti di seguito in gruppi di proprietà separati che sembrano consentirmi di eseguirli in versioni diverse. Finora ho testato solo il 2018 e il 2019, ma sembra promettente.
<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>
Grazie al tuo post, ho imparato qualcosa sul plug-in multi versione. Ora, per la domanda diretta, è possibile eseguire il debug della libreria di classi avviando Revit quando si avvia il processo di debug. E l'impostazione è la seguente:
imposta il tuo progetto come progetto di avvio (fai clic con il pulsante destro del mouse sul pannello "Esplorazione soluzione" => Imposta come progetto di avvio) in modo che sia il primo progetto da eseguire durante il debug
Apri la scheda "Proprietà progetto", seleziona "Debug"
Da "Avvia azione" su Debug, scegli "Avvia programma esterno". quindi fare clic sul pulsante "Sfoglia" per selezionare il file eseguibile per Revit. Per impostazione predefinita, dovrebbe essere a:
C: \ Programmi \ Autodesk \ your_version_of_revit
Salva il processo, compila il progetto e premi F5 (o qualsiasi tasto impostato per il debug)
Questo è un po 'tardi poiché hai già risolto il tuo problema, ma spero che possa essere utile in una situazione simile.