Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

I te wa e whakawhanake ana i nga mono mo nga tono CAD (i roto i taku take ko AutoCAD enei, Revit me Renga) i te wa o te wa, ka puta mai tetahi raruraru - ka tukuna nga putanga hou o nga papatono, me whakarereke o raatau API me nga waahanga hou o nga taputapu.

Mena he kotahi noa te mono kei a koe ano he timatanga ako-whaiaro mo tenei kaupapa, ka taea noa e koe te hanga kape o te kaupapa, huri i nga waahi e tika ana ki roto ka kohia he putanga hou o te mono. No reira, ko nga huringa ka whai ake ki te waehere ka nui ake nga utu mo nga kaimahi.

Ka whiwhi koe i te wheako me te matauranga, ka kitea e koe etahi huarahi hei whakaaunoa i tenei mahi. I hikoi ahau i tenei huarahi ka hiahia ahau ki te korero ki a koe he aha taku i mutu ai me te watea.

Tuatahi, me titiro tatou ki tetahi tikanga e tino kitea ana, kua roa nei e au.

Hononga ki nga konae kaupapa

A kia ngawari nga mea katoa, kia kite me te maarama, ka whakaahua ahau i nga mea katoa ma te whakamahi i tetahi tauira o te whanaketanga mono.

Me whakatuwheratia te Visual Studio (kei a au te putanga Hapori 2019. Ae - i roto i te reo Russian) me te hanga i tetahi otinga hou. Me waea atu ki a ia MySuperPluginForRevit

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Ka mahia e matou he mono mo Revit mo nga putanga 2015-2020. Na reira, me hanga he kaupapa hou i roto i te otinga (Net Framework Class Library) ka karangahia MySuperPluginForRevit_2015

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Me taapiri hononga ki te Revit API. Ko te tikanga, ka taea e taatau te taapiri hononga ki nga konae a-rohe (me whakauru e matou nga SDK e tika ana, nga putanga katoa ranei o Revit), engari ka whai tonu matou i te huarahi tika ka hono atu i te kete NuGet. He maha nga kete ka kitea e koe, engari ka whakamahia e au aku ake.

Whai muri i te hono i te kete, pawhiri-matau ki te taonga "tohutoro" ka kowhiri i te mea "Nuku packages.config ki PackageReference...»

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Mena ka ohorere i tenei wa ka tiimata koe ki te mataku, na te mea kei roto i te matapihi o nga taonga kete kare he mea nui "Tārua ā-rohe", e tika ana kia tautuhia ki te uara teka, na kaua e mataku - haere ki te kōpaki me te kaupapa, whakatuwheratia te konae me te toronga .csproj i roto i te kaiwhakatikatika e pai ana mo koe (ka whakamahi ahau i te Notepad++) ka kitea he urunga mo to maatau kete ki reira. Ko te ahua o ia inaianei:

<PackageReference Include="ModPlus.Revit.API.2015">
  <Version>1.0.0</Version>
</PackageReference>

Tāpirihia he taonga ki runga wā whakahaere. Ka puta penei:

<PackageReference Include="ModPlus.Revit.API.2015">
  <Version>1.0.0</Version>
  <ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>

Inaianei, ka hanga kaupapa, kaore nga konae mai i te kete ka kape ki te kōpaki whakaputa.
Me haere tonu - me whakaaro tonu ka whakamahia e to maatau mono tetahi mea mai i te Revit API, kua rereke te waa i te wa i tukuna nga putanga hou. Ana, me whakarereke noa ranei i tetahi mea i roto i te waehere i runga i te putanga o Revit e hanga ana e matou te mono. Hei whakatau i nga rereketanga o te waehere, ka whakamahia e matou nga tohu whakahiato herenga. Whakatuwheratia nga taonga kaupapa, haere ki te ripa "Tuhinga"me te mara"Tuhituhi whakahiato here"Kia tuhi tatou R2015.

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Kia mahara me taapiri te tohu mo nga whirihoranga Debug me te Tuku.

Ana, i a tatou kei roto i te matapihi taonga, ka haere tonu tatou ki te ripa "Whakamahinga"me te mara"Mokowāingoa taunoa»tangohia te kumara _2015kia noho motuhake to tatou mokowā ingoa ki te ingoa o te huihuinga:

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

I taku keehi, i te hua whakamutunga, ka whakauruhia nga monomai o nga momo putanga katoa ki roto i te kōpaki kotahi, no reira ka noho tonu aku ingoa hui ki te kumara o te puka. _20хх. Engari ka taea ano e koe te tango i te pimuri mai i te ingoa huihuinga mena kei te whakaaro kei te noho nga konae ki nga kōpaki rereke.

Haere tatou ki te waehere kōnae Class1.cs me te whai i etahi waehere ki reira, me te whakaaro ki nga momo putanga rereke o Revit:

namespace MySuperPluginForRevit
{
    using Autodesk.Revit.Attributes;
    using Autodesk.Revit.DB;
    using Autodesk.Revit.UI;

    [Regeneration(RegenerationOption.Manual)]
    [Transaction(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
#if R2015
            TaskDialog.Show("ModPlus", "Hello Revit 2015");
#elif R2016
            TaskDialog.Show("ModPlus", "Hello Revit 2016");
#elif R2017
            TaskDialog.Show("ModPlus", "Hello Revit 2017");
#elif R2018
            TaskDialog.Show("ModPlus", "Hello Revit 2018");
#elif R2019
            TaskDialog.Show("ModPlus", "Hello Revit 2019");
#elif R2020
            TaskDialog.Show("ModPlus", "Hello Revit 2020");
#endif
            return Result.Succeeded;
        }
    }
}

I whakaaro tonu ahau ki nga putanga katoa o Revit i runga ake i te putanga 2015 (i te wa e tuhi ana) me te whai whakaaro tonu ki te aroaro o nga tohu whakahiato herenga, i hangaia ma te whakamahi i te tauira ano.

Me neke atu ki te kaupapa matua. Ka hangaia e matou he kaupapa hou i roto i ta maatau otinga, mo te putanga o te mono mo Revit 2016. Ka whakahoki ano i nga waahanga katoa i whakaahuahia i runga ake nei, ka whakakapi i te nama 2015 me te nama 2016. Engari ko te konae Class1.cs muku mai i te kaupapa hou.

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Kōnae me te waehere e hiahiatia ana - Class1.cs – kei a matou ano, me whakauru noa he hononga ki roto i tetahi kaupapa hou. E rua nga huarahi hei whakauru hononga:

  1. Roa – pāwhiri-matau i runga i te kaupapa ka kowhiri "Tāpiri»->«Huānga tīariari", i roto i te matapihi e tuwhera ana, kimihia te konae e hiahiatia ana, hei utu mo te whiringa "Tāpiri" tīpakohia te kōwhiringa "Tāpirihia hei hononga»

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

  1. Poto – tika i roto i te kaihōpara otinga, tohua te konae e hiahiatia ana (ara nga konae, ara ranei nga kōpaki katoa) ka toia ki roto i tetahi kaupapa hou me te pupuri i te paatene Alt. I a koe e toia ana, ka kite koe ka pehi koe i te ki Alt, ka huri te pehu kiore mai i te tohu taapiri ki te pere.
    UPS: I hanga e ahau he iti rangirua i roto i tenei kōwae - ki te whakawhiti i te maha o nga konae me pupuri e koe Neke + Alt!

I muri i te whakahaere i nga tikanga, ka whai konae ki te kaupapa tuarua Class1.cs me te ata rite (pere kikorangi):

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

I te wa e whakatika ana i te waehere i te matapihi etita, ka taea hoki e koe te whiriwhiri ko tehea horopaki kaupapa hei whakaatu i te waehere, ka taea e koe te kite i te waehere e whakatikahia ana i raro i nga tohu whakahiato herenga rereke:

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Ka hangaia e matou etahi atu kaupapa (2017-2020) ma te whakamahi i tenei kaupapa. Te hack ora - mena ka toia e koe nga konae ki te Solution Explorer ehara i te kaupapa turanga, engari mai i te kaupapa kua whakauruhia hei hono, karekau koe e pupuri i te kii Alt!

He tino pai te whiringa kua whakaahuatia tae noa ki te wa ki te taapiri i tetahi waahanga hou o te mono, tae noa ki te wa ki te taapiri i nga konae hou ki te kaupapa - ka tino hoha enei katoa. A, no tata nei ka mohio au me pehea te whakariterite i nga mea katoa me te kaupapa kotahi, ka neke taatau ki te huarahi tuarua

Te makutu o nga whirihoranga

Ka mutu te panui i konei, ka karanga pea koe, "He aha koe i whakaahua ai i te tikanga tuatahi, mena ko te tuhinga mo te tuarua tonu?!" A i whakaahuatia e au nga mea katoa kia marama ake ai te take e hiahia ana matou ki nga tohu whakahiato herenga me nga waahi rereke o a maatau kaupapa. Inaianei kua marama ake ki a tatou he aha nga rereketanga o nga kaupapa e tika ana kia mahia, kotahi noa te kaupapa.

A kia marama ake ai nga mea katoa, kaore matou e hanga kaupapa hou, engari ka whakarereke i to maatau kaupapa o naianei i hangaia i te huarahi tuatahi.

Na, ko te tuatahi, ka tangohia e matou nga kaupapa katoa mai i te otinga engari ko te mea matua (kei roto tika nga konae). Ko era. kaupapa mo nga putanga 2016-2020. Whakatuwheratia te kōpaki me te otinga ka mukua nga kōpaki o enei kaupapa ki reira.

Kotahi te kaupapa e toe ana i roto i ta maatau whakatau - MySuperPluginForRevit_2015. Whakatuwheratia ona taonga me:

  1. I te ripa “Whakamahinga"tangohia te pimuri mai i te ingoa hui _2015 (ka marama te take i muri mai)
  2. I te ripa “Tuhinga»tangohia te tohu whakahiato herenga R2015 mai i te mara e rite ana

Kia mahara: he pepeke te putanga hou o Visual Studio - kaore nga tohu whakahiato herenga e whakaatuhia ki te matapihi o nga taonga kaupapa, ahakoa kei te waatea. Mena ka pa ki a koe tenei raru, me tango a ringa mai i te konae .csproj. Heoi ano, me mahi tonu tatou i roto, no reira panuihia.

Whakaingoa ano te kaupapa i te matapihi Solution Explorer ma te tango i te kumara _2015 katahi ka tango i te kaupapa mai i te otinga. He mea tika tenei ki te pupuri i te raupapa me nga kare o te hunga tino pai! Ka whakatuwherahia e matou te kōpaki o to maatau otinga, whakaingoatia te kōpaki kaupapa ki reira i te ara ano ka utaina te kaupapa ki roto i te otinga.

Whakatuwheratia te kaiwhakahaere whirihoranga. US whirihoranga tuku i roto i te tikanga, e kore e hiahiatia, na ka mukua e matou. Ka hangaia e matou etahi whirihoranga hou me nga ingoa kua mohio matou R2015, R2016,..., R2020. Kia mahara kaore koe e hiahia ki te kape i nga tautuhinga mai i etahi atu whirihoranga, kaore koe e hiahia ki te hanga whirihoranga kaupapa:

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Haere ki te kōpaki me te kaupapa me te whakatuwhera i te konae me te toronga .csproj i roto i te ētita e pai ana mo koe. Ma te ara, ka taea hoki e koe te whakatuwhera i roto i te Visual Studio - me tango e koe te kaupapa katahi ka uru te mea e hiahiatia ana ki te tahua horopaki:

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Ko te whakatika i roto i te Visual Studio he pai ake, na te mea ko te ētita e whakatika ana me te akiaki.

I roto i te konae ka kite tatou i nga huānga Roopu Taonga – kei runga rawa ko te mea whanui, katahi ka tae mai nga tikanga. Ko enei huānga e whakatakoto ana i nga ahuatanga o te kaupapa i te wa e hangaia ana. Ko te huānga tuatahi, kaore he tikanga, ka whakatakoto i nga ahuatanga whanui, me nga huānga me nga tikanga, na reira, ka huri etahi o nga taonga i runga i nga whirihoranga.

Haere ki te huānga noa (tuatahi). Roopu Taonga a ka titiro ki nga taonga Ingoa Runanga – ko te ingoa tenei o te hui, me kore he kumara _2015. Mēnā he kūmuri, tangohia.

Te kimi huānga whai tikanga

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

Kaore e hiahiatia ana - ka whakakorehia e matou.

Huānga whai huru

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

ka hiahiatia ki te mahi i te waahi o te whanaketanga waehere me te patuiro. Ka taea e koe te whakarereke i ona taonga kia rite ki o hiahia - whakatauhia nga huarahi whakaputa rereke, whakarereke i nga tohu whakahiato here, aha atu.

Inaianei me hanga huānga hou Roopu Taonga mo a maatau whirihoranga. I roto i enei huānga me whakarite e wha nga ahuatanga:

  • Ara Huaputa – kōpaki putanga. I whakaturia e ahau te uara taunoa binR20xx
  • DefineConstants – tohu whakahiato herenga. Me tohu te uara WHAKAARO;R20хх
  • TargetFrameworkVersion – putanga papa. Ko nga momo putanga rereke o te API Revit e hiahia ana kia tohua nga papaaho rereke.
  • Ingoa Runanga – ingoa hui (arā, ingoa kōnae). Ka taea e koe te tuhi i te ingoa tika o te huihuinga, engari mo te whai kiko ka tūtohu ahau ki te tuhi i te uara $(AssemblyName)_20хх. Ki te mahi i tenei, i tangohia e matou i mua te kumara mai i te ingoa hui

Ko te mea nui o enei huānga katoa ka taea te kape noa ki etahi atu kaupapa me te kore e whakarereketia. I muri mai i roto i te tuhinga ka taapirihia e ahau nga mea katoa o te konae .csproj.

Kaati, kua kitea e matou nga ahuatanga o te kaupapa - ehara i te mea uaua. Engari he aha te mahi ki nga whare pukapuka mono-mai (NuGet packages). Mena ka titiro whakamua, ka kite tatou kua tohua nga whare pukapuka kua whakauruhia ki roto i nga waahanga Rōpū Tūemi. Engari he waimarie - he he te whakahaere i tenei huānga i nga tikanga hei huānga Roopu Taonga. Akene pea he raru a Visual Studio, engari mena ka tohua e koe etahi waahanga Rōpū Tūemi me nga tikanga whirihoranga, me te whakauru i nga hononga rereke ki nga kohinga NuGet ki roto, katahi ka huri koe i te whirihoranga, ka hono katoa nga kohinga kua tohua ki te kaupapa.

Ka tae mai te huānga ki te awhina i a maatau Kōwhiri, e mahi ana i runga i ta maatau arorau o mua mena-ka-kore.

Te whakamahi huānga Kōwhiri, ka tautuhia e matou etahi momo kete NuGet mo nga whirihoranga rereke:

Nga ihirangi katoa csproj

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0"  ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{5AD738D6-4122-4E76-B865-BE7CE0F6B3EB}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>MySuperPluginForRevit</RootNamespace>
    <AssemblyName>MySuperPluginForRevit</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <Deterministic>true</Deterministic>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>binDebug</OutputPath>
    <DefineConstants>DEBUG;R2015</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2015|AnyCPU' ">
    <OutputPath>binR2015</OutputPath>
    <DefineConstants>TRACE;R2015</DefineConstants>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <AssemblyName>$(AssemblyName)_2015</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2016|AnyCPU' ">
    <OutputPath>binR2016</OutputPath>
    <DefineConstants>TRACE;R2016</DefineConstants>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <AssemblyName>$(AssemblyName)_2016</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2017|AnyCPU' ">
    <OutputPath>binR2017</OutputPath>
    <DefineConstants>TRACE;R2017</DefineConstants>
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
    <AssemblyName>$(AssemblyName)_2017</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2018|AnyCPU' ">
    <OutputPath>binR2018</OutputPath>
    <DefineConstants>TRACE;R2018</DefineConstants>
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
    <AssemblyName>$(AssemblyName)_2018</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2019|AnyCPU' ">
    <OutputPath>binR2019</OutputPath>
    <DefineConstants>TRACE;R2019</DefineConstants>
    <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
    <AssemblyName>$(AssemblyName)_2019</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2020|AnyCPU' ">
    <OutputPath>binR2020</OutputPath>
    <DefineConstants>TRACE;R2020</DefineConstants>
    <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
    <AssemblyName>$(AssemblyName)_2020</AssemblyName>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Class1.cs" />
    <Compile Include="PropertiesAssemblyInfo.cs" />
  </ItemGroup>
  <Choose>
    <When Condition=" '$(Configuration)'=='R2015' ">
      <ItemGroup>
        <PackageReference Include="ModPlus.Revit.API.2015">
          <Version>1.0.0</Version>
          <ExcludeAssets>runtime</ExcludeAssets>
        </PackageReference>
      </ItemGroup>
    </When>
    <When Condition=" '$(Configuration)'=='R2016' ">
      <ItemGroup>
        <PackageReference Include="ModPlus.Revit.API.2016">
          <Version>1.0.0</Version>
          <ExcludeAssets>runtime</ExcludeAssets>
        </PackageReference>
      </ItemGroup>
    </When>
    <When Condition=" '$(Configuration)'=='R2017' ">
      <ItemGroup>
        <PackageReference Include="ModPlus.Revit.API.2017">
          <Version>1.0.0</Version>
          <ExcludeAssets>runtime</ExcludeAssets>
        </PackageReference>
      </ItemGroup>
    </When>
    <When Condition=" '$(Configuration)'=='R2018' ">
      <ItemGroup>
        <PackageReference Include="ModPlus.Revit.API.2018">
          <Version>1.0.0</Version>
          <ExcludeAssets>runtime</ExcludeAssets>
        </PackageReference>
      </ItemGroup>
    </When>
    <When Condition=" '$(Configuration)'=='R2019' ">
      <ItemGroup>
        <PackageReference Include="ModPlus.Revit.API.2019">
          <Version>1.0.0</Version>
          <ExcludeAssets>runtime</ExcludeAssets>
        </PackageReference>
      </ItemGroup>
    </When>
    <When Condition=" '$(Configuration)'=='R2020' or '$(Configuration)'=='Debug'">
      <ItemGroup>
        <PackageReference Include="ModPlus.Revit.API.2020">
          <Version>1.0.0</Version>
          <ExcludeAssets>runtime</ExcludeAssets>
        </PackageReference>
      </ItemGroup>
    </When>
  </Choose>
  <Import Project="$(MSBuildToolsPath)Microsoft.CSharp.targets" />
</Project>

Kia mahara mai i roto i tetahi o nga tikanga i tohua e ahau nga whirihoranga e rua ma RĀNEI. Ma tenei ara ka hono te kete e hiahiatia ana i te wa whirihoranga Pupuri.

Na konei kei a tatou tata katoa nga mea tino pai. Ka utaina e matou te kaupapa, ka taea te whirihoranga e hiahiatia ana e matou, karangahia te mea " i roto i te tahua horopaki o te otinga (ehara i te kaupapa)Whakahokia nga kohinga NuGet katoa"A ka kite tatou me pehea te rereke o a maatau kete.

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Na i tenei wa ka tae ahau ki te mutunga - ki te kohi i nga whirihoranga katoa i te wa kotahi, ka taea e taatau te whakamahi i te roopu roopu (tahua "Tuhinga»->«Te hanga puranga"), engari ka huri ana i nga whirihoranga, kaore e whakahokia aunoatia nga kete. A, i te wa e huihui ana te kaupapa, kaore ano hoki tenei e puta, ahakoa, i roto i te ariā, me tika. Kaore au i kitea he otinga mo tenei raru ma te whakamahi i nga tikanga paerewa. A ko te mea pea he bug Visual Studio ano tenei.

Na reira, mo te huihuinga puranga, i whakatauhia kia whakamahia he punaha huihuinga aunoa motuhake nuke. Kaore au i tino hiahia i tenei na te mea ki taku whakaaro he nui rawa atu mo te whanaketanga mono, engari i tenei wa kaore au e kite i tetahi atu otinga. A ki te patai "He aha a Nuke?" He ngawari te whakautu - ka whakamahia e matou i te mahi.

Na, haere ki te kōpaki o ta maatau otinga (ehara i te kaupapa), purihia te kii Shift ka pato-matau i runga i te waahi kore i roto i te kōpaki - i roto i te tahua horopaki tohua te mea "Whakatuwherahia te matapihi PowerShell ki konei".

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Mena kaore koe i whakauru nuke, katahi ka tuhi tuatahi i te whakahau

dotnet tool install Nuke.GlobalTool –global

Inaianei tuhia te whakahau nuke ā, ka ākina koe ki te whirihora nuke mo te kaupapa o naianei. Kaore au e mohio ki te tuhi tika i tenei ki te reo Ruhia - ki te reo Ingarihi ka tuhia Kaore e kitea te konae .nuke. Kei te pirangi koe ki te whakarite hangahanga? [y/n]

Pēhia te kī Y katahi ka puta nga mea tautuhinga tika. E hiahia ana matou ki te waahanga ngawari rawa atu MSBuild, no reira ka whakautua e matou penei i te Whakaahuamata:

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Me haere ki Visual Studio, ka akiaki i a maatau ki te uta ano i te otinga, i te mea kua taapirihia he kaupapa hou. Ka utaina ano e matou te otinga ka kite he kaupapa ta matou hanga e hiahia ana matou ki tetahi konae anake - Hanga.cs

Ka mahia e matou tetahi kaupapa mono me te whakahiato mo nga momo momo rereke o Revit/AutoCAD

Whakatuwheratia tenei konae ka tuhia he tuhinga hei hanga i te kaupapa mo nga whirihoranga katoa. Ana, whakamahia ranei taku tuhinga, ka taea e koe te whakatika kia rite ki o hiahia:

using System.IO;
using Nuke.Common;
using Nuke.Common.Execution;
using Nuke.Common.ProjectModel;
using Nuke.Common.Tools.MSBuild;
using static Nuke.Common.Tools.MSBuild.MSBuildTasks;

[CheckBuildProjectConfigurations]
[UnsetVisualStudioEnvironmentVariables]
class Build : NukeBuild
{
    public static int Main () => Execute<Build>(x => x.Compile);

    [Solution] readonly Solution Solution;

    // If the solution name and the project (plugin) name are different, then indicate the project (plugin) name here
    string PluginName => Solution.Name;

    Target Compile => _ => _
        .Executes(() =>
        {
            var project = Solution.GetProject(PluginName);
            if (project == null)
                throw new FileNotFoundException("Not found!");

            var build = new List<string>();
            foreach (var (_, c) in project.Configurations)
            {
                var configuration = c.Split("|")[0];

                if (configuration == "Debug" || build.Contains(configuration))
                    continue;

                Logger.Normal($"Configuration: {configuration}");

                build.Add(configuration);

                MSBuild(_ => _
                    .SetProjectFile(project.Path)
                    .SetConfiguration(configuration)
                    .SetTargets("Restore"));
                MSBuild(_ => _
                    .SetProjectFile(project.Path)
                    .SetConfiguration(configuration)
                    .SetTargets("Rebuild"));
            }
        });
}

Ka hoki ki te matapihi PowerShell ka tuhi ano i te whakahau nuke (ka taea e koe te tuhi i te whakahau nuke e tohu ana i nga mea e hiahiatia ana Target. Engari kotahi taatau Target, ka rere taunoa). I muri i te pehi i te taviri Tomo, ka rite matou ki nga kaiwhaiwhai pono, na te mea, penei i roto i te kiriata, ka whakahiatohia to maatau kaupapa mo nga whirihoranga rereke.

Ma te ara, ka taea e koe te whakamahi tika i te PowerShell mai i te Visual Studio (tahua "Tiro»->«Ētahi atu matapihi»->«Papatohu Kaiwhakahaere Mōkī"), engari ko nga mea katoa ka pango me te ma, kaore i te tino watea.

Ka mutu taku tuhinga. E tino mohio ana ahau ka taea e koe te kimi i te whiringa mo AutoCAD koe. Te ti'aturi nei au ka kitea e nga mea e whakaatuhia ana i konei ona "kiritaki".

Mauruuru koe mo to aro!

Source: will.com

Tāpiri i te kōrero