Markaad horumarinayso plugins ee codsiyada CAD (
Markaad haysato hal plugin oo keliya ama aad weli tahay bilawga is-baray ee arrintan ku saabsan, waxaad si fudud u samayn kartaa nuqul ka mid ah mashruuca, beddel meelaha lagama maarmaanka ah ee ku jira oo aad soo ururiso nooc cusub oo plugin ah. Sidaas awgeed, isbeddellada xiga ee koodka ayaa keeni doona koror badan oo kharashka shaqada ah.
Markaad hesho waayo-aragnimo iyo aqoon, waxaad heli doontaa dhowr siyaabood oo aad habkan otomaatig ugu noqon karto. Waddadan ayaan maray oo aan rabaa in aan kuu sheego waxa aan ku dambeeyay iyo sida ay ugu habboon tahay.
Marka hore, aan eegno hab muuqda oo aan muddo dheer isticmaalayey.
Xiriirinta faylasha mashruuca
Iyo in la sameeyo wax kasta oo fudud, muuqaal ah oo la fahmi karo, waxaan ku tilmaami doonaa wax kasta aniga oo isticmaalaya tusaale aan la taaban karin ee horumarinta plugin.
Aan furno Visual Studio (Waxaan haystaa nooca Community 2019. Iyo haa - af Ruush) oo aan abuurno xal cusub. Aan u yeerno MySuperPluginForRevit
Waxaan u samayn doonaa plugin Revit ee noocyada 2015-2020. Sidaa darteed, aynu abuurno mashruuc cusub oo xalka ah (Maktabadda Fasalka Qaab-dhismeedka Net) oo wac MySuperPluginForRevit_2015
Waxaan u baahanahay inaan ku darno xiriirinta Revit API Dabcan, waxaan ku dari karnaa isku xirka faylasha maxaliga ah (waxaan u baahan doonaa inaan ku rakibno dhammaan SDK-yada lagama maarmaanka ah ama dhammaan noocyada Revit), laakiin waxaan isla markiiba raaci doonaa waddada saxda ah oo aan isku xirno xirmada NuGet. Waxaad ka heli kartaa dhowr baakadood, laakiin anigu waxaan isticmaali doonaa kayga.
Kadib xidhidhiyaha xirmada, midig-guji shayga"tixraacyada"oo door shayga"U rar packs.config una wareeji XidhmadaTixraaca...Β»
Haddii si lama filaan ah xilligan aad bilowdo inaad argagaxdo, sababtoo ah daaqada guryaha xirmada ma jiri doonto shay muhiim ah "Ku koobbi gudaha", taas oo aan xaqiiqdii u baahanahay inaan dejino qiimaha been ah, ka dibna ha argagixin - u tag faylka mashruuca leh, ku fur faylka .csproj kordhinta ee tifaftiraha adiga kugu habboon (waxaan isticmaalaa Notepad ++) oo ka hel gelitaanka xirmadayada halkaas. Hadda waxay u egtahay sidan:
<PackageReference Include="ModPlus.Revit.API.2015">
<Version>1.0.0</Version>
</PackageReference>
Ku dar hanti runtime. Waxay noqon doontaa sidatan:
<PackageReference Include="ModPlus.Revit.API.2015">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
Hadda, marka mashruuca la dhisayo, faylasha xirmada laguma koobiyn doono galka wax soo saarka.
Aynu sii socono - aynu isla markiiba qiyaasno in pluginkeenu uu isticmaali doono wax ka yimid Revit API, kaas oo isbeddelay waqti ka dib markii noocyo cusub la sii daayay. Hagaag, ama waxaan kaliya u baahanahay inaan wax ka bedelno koodka iyadoo kuxiran nooca Revit kaas oo aan u sameyneyno plugin. Si loo xalliyo kala duwanaanshaha noocaan ah ee koodka, waxaan isticmaali doonaa calaamado ururin shuruudaysan. Fur guryaha mashruuca, tag " tabGolaha"iyo berrinka"Qoraal shuruudaysan"aan qorno R2015.
Ogsoonow in calaamada lagu daro isku xidhka Debug iyo Siidaynta labadaba.
Waa hagaag, inta aan ku jirno daaqada guryaha, waxaan isla markiiba tagnaa " tabCodsiga"iyo berrinka"Meesha magaca caadiga ahΒ» ka saar daba-galka _2015si magaceenu u noqdo mid caalami ah oo ka madax banaan magaca golaha:
Xaaladdayda, badeecada ugu dambeysa, fiilooyinka dhammaan noocyada waxaa lagu dhejiyaa hal gal, markaa magacyada golahaygu waxay ku sii jiraan lifaaqa foomka _20Ρ Ρ . Laakiin sidoo kale waxaad ka saari kartaa daba-galka magaca golaha haddii faylalka loo malaynayo inay ku yaalliin faylal kala duwan.
Aan tagno koodka faylka Fasalka 1.cs oo ku ekaysii kood ka mid ah halkaas, adiga oo tixgelinaya noocyada kala duwan ee 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;
}
}
}
Waxaan isla markiiba tixgeliyey dhammaan noocyada Revit ee ka sarreeya nooca 2015 (kuwaas oo la heli karo wakhtiga qorista) isla markiiba waxaan tixgeliyey joogitaanka calaamadaha isku-darka shuruudaha, kuwaas oo la abuuray iyadoo la adeegsanayo isla template.
Aan u gudubno nuxurka ugu muhiimsan. Waxaan abuurnaa mashruuc cusub oo xalkeena ah, kaliya nooca plugin ee Revit 2016. Waxaan ku celineynaa dhammaan tallaabooyinka kor lagu sharaxay, siday u kala horreeyaan, beddelka lambarka 2015 lambarka 2016. Laakiin faylka Fasalka 1.cs ka tirtir mashruuca cusub.
Fayl gareeya koodka loo baahan yahay - Fasalka 1.cs - Horay ayaanu u haysanay oo waxaan u baahanahay oo kaliya in aan galino xiriiriye mashruuc cusub. Waxaa jira laba siyaabood oo lagu gelin karo xiriiriyeyaasha:
- Dheer - midig-guji mashruuca oo dooro "AddΒ»->Β«Curiyaha jira", daaqada furan, ka hel faylka loo baahan yahay iyo halkii ikhtiyaarka ah"Add"dooro ikhtiyaarka"Kudar sida isku xidhkaΒ»
- Gaaban - si toos ah sahamiyaha xalka, dooro faylka la rabo (ama xitaa faylalka, ama xitaa faylalka oo dhan) oo u jiid mashruuc cusub adigoo hoos u dhigaya furaha Alt. Markaad jiidato, waxaad arki doontaa marka aad riixdo furaha Alt, cursorka mouse-ku wuxuu ka bedeli doonaa calaamada lagu daray oo uu noqon doono falaar.
UPS: Waxa aan ku sameeyay jahawareer yar cutubkan - si aad u wareejiso faylal badan waa inaad hoos u dhigtaa Wareejinta + Alt!
Kadib fulinta nidaamka, waxaan ku yeelan doonaa fayl mashruuca labaad Fasalka 1.cs leh astaanta u dhiganta ( falaarta buluuga ah):
Markaad tafatirayso koodka daaqada tafatiraha, waxaad sidoo kale dooran kartaa macnaha mashruuca si aad u muujiso koodka, kaas oo kuu ogolaanaya inaad aragto koodka oo lagu tafatiray calaamado shuruudo ah oo kala duwan:
Waxaan abuurnaa dhammaan mashaariicda kale (2017-2020) anagoo adeegsanayna nidaamkan. Hack Life - haddii aad ku jiidato faylasha Solution Explorer ma aha mashruuca aasaasiga ah, laakiin ka soo jeeda mashruuca halkaas oo ay horayba ugu dhejiyeen isku xirka, markaa uma baahnid inaad hoos u dhigto furaha Alt!
Xulashada la sharraxay waa mid aad u wanaagsan ilaa waqtiga lagu daro nooc cusub oo plugin ah ama ilaa waqtiga lagu daro faylal cusub mashruuca - waxaas oo dhan waxay noqotaa mid aad u caajis badan. Dhawaan waxaan si lama filaan ah u ogaaday sida loo xalliyo dhammaan hal mashruuc oo aan u gudubno habka labaad
Sixirka habaynta
Markaad akhrido halkan, waxaad ku dhawaaqi kartaa, "Maxaad u qeexday habka koowaad, haddii maqaalku isla markiiba ku saabsan yahay labaad?!" Oo waxaan u sharaxay wax walba si aan u caddeeyo sababta aan ugu baahanahay calaamado isku-dubarid shuruudaysan iyo meelaha ay ku kala duwan yihiin mashaariicdayadu. Oo hadda waxaa noo cadaatay sida saxda ah ee ay ku kala duwan yihiin mashaariicda aan u baahannahay inaan fulino, oo aan ka tagno hal mashruuc.
Iyo in wax walba la caddeeyo, ma abuuri doono mashruuc cusub, laakiin waxaan ku samayn doonaa isbeddel mashruuceena hadda loo abuuray habka ugu horreeya.
Marka, marka hore, waxaan ka saareynaa dhammaan mashaariicda xalka marka laga reebo midka ugu weyn (oo ay ku jiraan faylasha si toos ah). Kuwaas. mashaariicda noocyada 2016-2020. Fur faylka xalka oo tirtir galka mashaariicdan halkaas.
Waxa noo hadhay hal mashruuc oo go'aankeena ah - MySuperPluginForRevit_2015. Fur hantideeda oo:
- Dhinaca tabka "Codsiga"ka saar lifaaqa magaca golaha _2015 (Waa ay caddahay sababta hadhow)
- Dhinaca tabka "GolahaΒ» ka saar summada isku-duwidda shuruudda ah R2015 laga bilaabo goobta u dhiganta
Fiiro gaar ah: Nuqulkii ugu dambeeyay ee Visual Studio wuxuu leeyahay cilad - calaamado isku-dubarid shuruudaysan ayaan lagu soo bandhigin daaqada guryaha mashruuca, in kasta oo la heli karo. Haddii aad la kulanto ciladkan, markaa waxaad u baahan tahay inaad gacanta ka saarto faylka .csproj. Si kastaba ha ahaatee, weli waa inaan ka shaqeynaa, markaa sii akhri.
Magaca dib ugu magacaw mashruuca daaqada Solution Explorer adiga oo meesha ka saaraya lifaaqa _2015 ka dibna ka saar mashruuca xalka. Tani waxay lagama maarmaan u tahay in la ilaaliyo nidaamka iyo dareenka kaamilnimada! Waxaan furnaa galka xalkeena, waxaan u magacownaa galka mashruuca halkaas si la mid ah waxaanan ku soo celineynaa mashruuca xalka.
Fur maamulaha qaabeynta qaabeynta US Release mabda' ahaan, looma baahnaan doono, markaa waanu tirtirnaa. Waxaan abuurnaa habayn cusub oo leh magacyo horeba naloo yaqaan R2015, R2016,β¦, R2020. Ogsoonow inaadan u baahnayn inaad nuqul ka sameyso dejinta qaabeynta kale oo aadan u baahnayn inaad abuurto qaabaynta mashruuca:
Tag galka mashruuca oo ku fur feylka kordhinta .csproj ee tafatiraha kugu habboon. Jid ahaan, waxaad sidoo kale ku furi kartaa Visual Studio - waxaad u baahan tahay inaad soo dejiso mashruuca ka dibna shayga la rabo wuxuu ku jiri doonaa liiska macnaha guud:
Tafatirka Visual Studio waa xitaa la doorbidi karo, maadaama tifaftiruhu labaduba isku toosiyaan oo ay soo jeediyaan.
Faylka waxaan ku arki doonaa walxaha
Tag qaybta guud (koowaad). Kooxda Hantida oo eeg hantida Magaca Golaha β Kani waa magaca golaha, waana in aan haysanaa iyada oo aan wax ku dhejis ah lahayn _2015. Haddii ay jirto daba-gal, ka dibna ka saar.
Helitaanka curiye leh xaalad
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
Uma baahnin - waanu tirtirnaa.
Curiye leh xaalad
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
loo baahan doonaa si ay u shaqeeyaan marxaladda horumarinta code iyo qaladka. Waxaad bedeli kartaa hantideeda si ay ugu habboonaato baahiyahaaga - deji waddooyin wax-soo-saar oo kala duwan, beddel calaamado ururin shuruudaysan, iwm.
Hadda aan abuurno walxo cusub Kooxda Hantida habayntayada. Cunsuradan waxaan u baahanahay inaan dejino afar guri:
- Waddada Output - folder wax soo saarka. Waxaan dhigay qiimaha caadiga ah binR20xx
- QeexiConstant - calaamado ururin shuruudaysan. Qiimaha waa in la cayimaa RAAD;R20Ρ Ρ
- TargetFrameworkVersion - nooca madal. Noocyada kala duwan ee Revit API waxay u baahan yihiin meelo kala duwan in la cayimo.
- Magaca Golaha - magaca shirka (sida magaca faylka). Waxaad qori kartaa magaca saxda ah ee shirka, laakiin kala duwanaanshaha waxaan ku talinayaa in la qoro qiimaha $(AssemblyName)_20Ρ Ρ . Si tan loo sameeyo, waxaan hore uga saarnay daba-galka magaca golaha
Tilmaamaha ugu muhiimsan ee dhammaan walxahan ayaa ah in si fudud loogu koobi karo mashaariicda kale iyada oo aan la beddelin gabi ahaanba. Mar dambe maqaalka waxaan ku soo lifaaqi doonaa dhammaan waxa ku jira faylka .csproj.
Hagaag, waxaan ogaanay sifooyinka mashruuca - ma ahan wax adag. Laakiin waxa lagu sameeyo maktabadaha plug-in (NuGet packs). Haddii aan sii eegno, waxaynu arki doonaa in maktabadaha ku jira ay ku qeexan yihiin curiyeyaasha
Cunsurka ayaa noo yimaada gargaar
Isticmaalka element Dooro, Waxaan u dejinay xirmo NuGet kala duwan oo loogu talagalay qaabeynta kala duwan:
Dhammaan waxa ku jira 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>
Fadlan la soco in mid ka mid ah shuruudaha aan ku tilmaamay laba habayn via AMA. Sidan xirmada loo baahan yahay ayaa lagu xiri doonaa inta lagu jiro qaabeynta Debug.
Oo halkan waxaan ku haynaa ku dhawaad ββwax kasta oo kaamil ah. Waxaan dib u soo ceshanaa mashruuca, awoodna qaabeynta aan u baahanahay, wac shayga " ee macnaha guud ee xalka (ma aha mashruuca)Soo celi dhammaan xirmooyinka NuGet" waxaana aragnaa sida xirmooyinkayadu isu beddelaan.
Marxaladdan waxaan u imid dhammaad dhintay - si aan u ururiyo dhammaan qaabeynta hal mar, waxaan isticmaali karnaa kulanka batch (menu"GolahaΒ»->Β«Dufcaddii dhisid"), laakiin marka la beddelo qaabeynta, xirmooyinka si toos ah looma soo celiyo. Iyo marka la ururinayo mashruuca, tani sidoo kale ma dhacdo, inkastoo, aragti ahaan, waa in. Ma aanan helin xal dhibaatadan iyadoo la adeegsanayo hababka caadiga ah. Waxayna u badan tahay kani sidoo kale waa kutaan Visual Studio.
Sidaa darteed, ururinta dufcadda, waxaa la go'aamiyay in la isticmaalo nidaam gaar ah oo iswada
Markaa, gal gal galka xalkeena (ma aha mashruuca), hoos u qabo furaha shift oo midig-guji meel bannaan oo ku taal galka - menu-ka macnaha guud dooro shayga "Fur daaqadda PowerShell halkan".
Haddi aanad ku rakibin nukle, dabadeed marka hore qor amarka
dotnet tool install Nuke.GlobalTool βglobal
Hadda qor amarka nukle waxaana laguu sheegi doonaa inaad habayso nukle mashruuca hadda socda. Ma garanayo sida tan si sax ah loogu qoro Ruushka - Ingiriisiga ayaa lagu qori doonaa Lama heli karo faylka .nuke. Ma doonaysaa in aad dhisto habayn? [y/n]
Riix furaha Y ka dibna waxaa jiri doona waxyaabo toos ah. Waxaan u baahanahay ikhtiyaarka ugu fudud adoo isticmaalaya MSBuild, markaa waxaan uga jawaabeynaa sida shaashadda:
Aan tagno Visual Studio, kaas oo nagu dhiirigelin doona inaan dib u dejino xalka, mar haddii mashruuc cusub lagu soo daray. Xalka ayaanu dib u dejinaynaa oo aragnaa in aanu mashruuc hayno dhiso kaas oo aan xiisayno hal fayl oo kaliya - Dhis.cs
Fur faylkan oo qor qoraal si aad u dhisto mashruuca dhammaan isku xidhka Hagaag, ama isticmaal qoraalkayga, kaas oo aad wax ka beddeli karto si baahiyahaaga ku habboon:
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"));
}
});
}
Waxaan ku soo laabaneynaa daaqada PowerShell oo mar labaad qor amarka nukle (waxaad qori kartaa amarka nukle oo tilmaamaya waxa loo baahan yahay Target. Laakiin waxaan leenahay hal Target, kaas oo ku shaqeeya default). Ka dib markaad riixdo furaha Gelida, waxaan dareemi doonaa sida hackers-ka dhabta ah, sababtoo ah, sida filim, mashruuceena si toos ah ayaa loo ururin doonaa qaabab kala duwan.
Jid ahaan, waxaad si toos ah uga isticmaali kartaa PowerShell Visual Studio (menu"ViewΒ»->Β«Daaqadaha kaleΒ»->Β«Console Maareeyaha Xidhmada"), laakiin wax walba waxay noqon doonaan madow iyo caddaan, taas oo aan aad u habboonayn.
Tani waxay ku soo gabagabaynaysaa maqaalkayga. Waxaan hubaa inaad adigu garan karto ikhtiyaarka AutoCAD naftaada. Waxaan rajeynayaa in waxyaabaha halkan lagu soo bandhigay ay heli doonaan "macaamisheeda".
Qalbadda
Source: www.habr.com