C# c-Revit api-多版本plugin.csproj文件
我正在尝试为Revit创建一个简单的多版本hello World插件,我已经找到了要遵循的方法。然而,我并没有走得很远。我不太熟悉.csproj文件的工作原理。我以前为单个Revit年份创建过插件,但没有创建多个版本 下面是我的.csProj代码。我尝试从小处着手,只处理Revit 2018中的.net framework 4.5.2。您还可以在底部找到my project属性的代码段。不再有一个open for Start外部应用程序:所以我不知道如何通过Revit调试它 感谢所有帮助/指导 使用下面当前的.csproj代码,我得到以下弹出错误: csproj先生 项目属性代码段C# c-Revit api-多版本plugin.csproj文件,c#,revit-api,revit,pyrevit,C#,Revit Api,Revit,Pyrevit,我正在尝试为Revit创建一个简单的多版本hello World插件,我已经找到了要遵循的方法。然而,我并没有走得很远。我不太熟悉.csproj文件的工作原理。我以前为单个Revit年份创建过插件,但没有创建多个版本 下面是我的.csProj代码。我尝试从小处着手,只处理Revit 2018中的.net framework 4.5.2。您还可以在底部找到my project属性的代码段。不再有一个open for Start外部应用程序:所以我不知道如何通过Revit调试它 感谢所有帮助/指导
感谢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>
多亏了你的帖子,我学到了一些关于多版本插件的知识。现在,对于直接问题,您可以在启动调试过程时启动Revit来调试类库。设置如下: 将您的项目设置为启动项目右键单击解决方案探索面板上的项目=>设置为启动项目,以便它将是调试时运行的第一个项目 打开“项目属性”选项卡,选择“调试” 从“调试时启动操作”中,选择“启动外部程序”。然后单击“浏览”按钮选择Revit的可执行文件。默认情况下,它应位于: C:\Program Files\Autodesk\revit的\u版本\u 保存流程,构建项目,然后点击F5或为调试设置的任何键
这有点晚了,因为您已经解决了您的问题,但希望它能在类似情况下有所帮助。以此为例,并按如下方式进行设置:@EhsanIran-Nejad,您在项目属性中对目标框架有什么要求?正如您在链接中所示,我从标记下的.csproj中删除了v4.5.2行,但是项目属性现在默认为.net framework 4。0@EhsanIran-内贾德,成功了!谢谢。如果你能让它工作,你能和我们分享解决方案吗?谢谢大家!@Ehsanairan Nejad或JeremyTammik,有什么提示吗?正如您在前面的注释中的示例csproj文件中所看到的,您可以在csproj的其余部分使用RevitVersion值来创建动态构建路径。。。更改生成配置文件时自动设置的
<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>