Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c-Revit api-多版本plugin.csproj文件_C#_Revit Api_Revit_Pyrevit - Fatal编程技术网

C# c-Revit api-多版本plugin.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调试它 感谢所有帮助/指导

我正在尝试为Revit创建一个简单的多版本hello World插件,我已经找到了要遵循的方法。然而,我并没有走得很远。我不太熟悉.csproj文件的工作原理。我以前为单个Revit年份创建过插件,但没有创建多个版本

下面是我的.csProj代码。我尝试从小处着手,只处理Revit 2018中的.net framework 4.5.2。您还可以在底部找到my project属性的代码段。不再有一个open for Start外部应用程序:所以我不知道如何通过Revit调试它

感谢所有帮助/指导

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

csproj先生

项目属性代码段
感谢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>