Try .NET is an interactive documentation generator for .NET Core.
Use Try .NET to create executable C# snippets for your websites or, interactive markdown files that users can run on their machine.
Try .NET execute C# code in client side using Blazor and Web Assembly.
روش مهاجرت از Moq به NSubstitute
Unit testing is an integral part of modern software development. For years, Moq has been a popular choice in the .NET ecosystem for creating mock objects. Recent concerns over Moq’s SponsorLink feature have prompted some developers to consider such a switch. In this article, we delve into why you might consider NSubstitute over Moq and how to make the transition.
Today is a pretty exciting day if you’re an enterprise developer. . . Red Hat and Microsoft have announced that the two companies will be working together to bring a supported version of the .NET r untime to Red Hat’s Enterprise Linux and OpenShift 3
فعالسازی GitHub Action مخصوص NET Core.
در ادامه قصد داریم از این قابلیت جدید، جهت Build خودکار پروژههای NET Core. و در آخر ارسال خودکار بستههای نیوگت متناظر آنها به سایت nuget.org، استفاده کنیم. برای این منظور به برگهی Actions مخزن کد خود مراجعه کنید (تصویر فوق). سپس در این صفحه، بر روی لینک Work flows for … more کلیک کنید:
تا امکان انتخاب گردش کاری متناظر با NET Core. ظاهر شود:
در اینجا بر روی دکمهی «Set up this workflow» کلیک کنید تا صفحهی ویرایشی این گردش کاری که با فرمت yml است، ظاهر شود.
محتویات آنرا برای نمونه میتوانید به صورت زیر تغییر دهید:
name: .NET Core Build on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: dotnet-version: 3.0.100-preview9-014004 - name: Build DNTCaptcha.Core lib run: dotnet build ./src/DNTCaptcha.Core/DNTCaptcha.Core.csproj --configuration Release
پس از تکمیل محتوای فایل yml در این مرحله، در کنار صفحه بر روی لینک start commit کلیک کنید، تا این فایل را به صورت خودکار در مسیر github\workflows\aspnetcore.yml ذخیره کند. بدیهی است تغییرات آنرا در قسمت commits مخزن کد نیز میتوانید مشاهده کنید.
این فایل on: [push] کار میکند. یعنی اگر تغییری را به مخزن کد اعمال کردید، همانند یک تریگر عمل کرده و عملیات Build را به صورت خودکار آغاز میکند.
اضافه کردن نماد گردش کاری GitHub به پروژه
هر گردش کاری تعریف شده را میتوان با یک نماد یا badge در فایل readme.md پروژه نیز نمایش داد:
فرمول آن نیز به صورت زیر است:
https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_NAME>/badge.svg
![Github tags](https://github.com/VahidN/DNTCaptcha.Core/workflows/.NET%20Core%20Build/badge.svg)
تکمیل گردش کاری Build، جهت تولید خودکار و ارسال یک بستهی نیوگت
برای ارسال خودکار حاصل Build به سایت نیوگت، نیاز است یک API Key داشته باشیم. به همین جهت به صفحهی مخصوص آن در سایت nuget پس از ورود به سایت آن، مراجعه کرده و یک کلید API جدید را صرفا برای این پروژه تولید کنید (در قسمت Available Packages بستهی پیشینی را که دستی آپلود کرده بودید انتخاب کنید).
پس از کپی کردن کلید تولید شدهی در سایت nuget:
به قسمت settings -> secrets مخزن کد خود مراجعه کرده و این کلید را به صورت زیر وارد کنید:
در ادامه برای دسترسی به این کلید با نام NUGET_API_KEY، میتوان از روش {{ secrets.NUGET_API_KEY }}$ در اسکریپت گردش کاری استفاده کرد.
اکنون که مخزن کد به همراه کلید API نیوگت است، میتوان مراحل dotnet pack (برای تولید فایل nupkg) و سپس dotnet nuget push (برای انتشار خودکار فایل nupkg) را به صورت زیر، به گردش کاری خود اضافه نمود:
name: .NET Core Build on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: dotnet-version: 3.0.100-preview9-014004 - name: Build DNTCaptcha.Core lib run: dotnet build ./src/DNTCaptcha.Core/DNTCaptcha.Core.csproj --configuration Release - name: Build NuGet Package run: dotnet pack ./src/DNTCaptcha.Core/DNTCaptcha.Core.csproj --configuration Release - name: Deploy NuGet Package run: dotnet nuget push ./src/DNTCaptcha.Core/bin/Release/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json
Marten 1.0 منتشر شد
Add command 'listRemoteDockerProcess' and variable 'pickRemoteDockerProcess' (#4607, PR: #4617)
Ensure we only start one instance of OmniSharp server (PR: #4612)
Update OmniSharp version to 1.37.11
Include timing info in logged responses (PR: omnisharp-roslyn#2173)
Defend against null value in BuildErrorEventArgs (omnisharp-roslyn#2171, PR: omnisharp-roslyn#2172)
Updated to all the latest .NET SDKs (PR: omnisharp-roslyn#2166)
Add support for GoToDefinition on source-generated files (PR: omnisharp-roslyn#2170)
Add V2 version of GotoDefinitionService (PR: omnisharp-roslyn#2168)
avoid NRE when document is null (PR: omnisharp-roslyn#2163))