Aggiornamento delle macro di Revit

Se si esegue l'aggiornamento delle macro, per il corretto aggiornamento e funzionamento delle macro in Revit potrebbero risultare necessarie alcune operazioni di gestione dei file.

Assicurarsi di acquisire familiarità con le modifiche apportate al kit di sviluppo del software di Revit (SDK, Software Development Kit) e con le seguenti informazioni sull'aggiornamento delle macro.

Aggiornamento di macro a livello di applicazione

  1. Copiare e incollare le directory delle macro in:
    • Windows 7 e Windows 8: %ProgramData%\Autodesk\Revit\Macros\2026 Release\Revit\AppHookup
  2. Individuare .csproj e apportare la seguente modifica:
    • Modificare "<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>" in "<TargetFramework>net7.0-windows</TargetFramework>".
Di seguito è riportato un esempio di un nuovo progetto macro.
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
    <PlatformTarget>x64</PlatformTarget>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    <Optimize>False</Optimize>
    <DebugSymbols>True</DebugSymbols>
    <DebugType>Portable</DebugType>
    <OutputPath>..\..\Addin\</OutputPath>
    <AssemblyName>MacroTemplate</AssemblyName>
    <BaseInterMediateOutputPath>obj\</BaseInterMediateOutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <InterMediateOutputPath>obj\Debug</InterMediateOutputPath>
    <Deterministic>false</Deterministic>
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="..\..\..\..\..\RevitAPI.dll">
      <Private>False</Private>
    </Reference>
    <Reference Include="..\..\..\..\..\RevitAPIUI.dll">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="del $(OutputPath)\*.dll" />
  </Target>
</Project>

Aggiornamento di macro a livello di documento

  1. Le macro a livello di documento non sono supportate in Revit 2025. Sarà necessario convertire manualmente le macro a livello di documento in macro a livello di applicazione.
  2. Utilizzare una versione precedente di Revit per aprire il documento e copiare il progetto macro del documento nella cartella delle macro dell'applicazione.
  3. Aggiornare il file .csproj.
  4. Modificare i nomi dei file. Modificare "ThisDocument.cs" to "ThisApplication.cs", "ThisDocument.Designer.cs" in "ThisApplication.Designer.cs".
  5. Modificare il nome della classe da "ThisDocument" in "ThisApplication" nei file .cs.
  6. Modificare il nome della superclasse da "Autodesk.Revit.UI.Macros.DocumentEntryPoint" in "Autodesk.Revit.UI.Macros.ApplicationEntryPoint" in ThisApplication.Designer.cs.
Nota: Le macro aggiornate in Revit 2025 non verranno caricate automaticamente se Revit è già in esecuzione. Per caricare le macro aggiornate, è necessario riavviare Revit.