gpt4 book ai didi

c# - Revit api - 多版本插件 .csproj 文件

转载 作者:行者123 更新时间:2023-12-04 15:17:46 30 4
gpt4 key购买 nike

我正在尝试为 Revit 创建一个简单的多版本 hello World 插件,我找到了 this article我正在努力跟进。但是,我并没有走得太远。我不太熟悉 .csproj 文件的工作原理。我之前为单个 Revit 创建了插件,但没有为多个版本创建插件。

下面是我的 .csProj 代码。我试图从小处着手,只处理 .net framework 4.5.2,即 Revit 2018。您还会在底部找到我的项目属性的片段。 Start External Application: 不再打开,所以我不知道如何通过 Revit 对其进行调试。

感谢任何和所有的帮助/指导。

使用下面的当前 .csproj 代码,我得到了这个弹出错误:

enter image description here

.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>

项目属性片段 enter image description here enter image description here enter image description here

最佳答案

感谢 Ehsan 分享他的 Github 链接。我能够弄明白。

我用程序集名称将这两行添加到我的属性组中。

<TargetFrameworkProfile />
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>

然后在下面将它们添加到单独的属性组中,这似乎允许我在不同版本中运行它们。到目前为止,我只测试了 2018 年和 2019 年,但看起来很有希望。

<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>

关于c# - Revit api - 多版本插件 .csproj 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64000403/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com