اگر امروز با استفاده از دستور dotnet new console یک برنامهی کنسول را شروع کنیم، به یک فایل program.cs تقریبا خالی و یک فایل csproj. مرتبط میرسیم و ... همین! اما نیازهای واقعی ما در یک برنامهی کنسول، شامل این موارد هستند:
- نیاز به انجام تزریق وابستگیها
- نیاز به دسترسی به فایلهای کانفیگ؛ شبیه به برنامههای وب
- نیاز به کار با EF و مدیریت صحیح طول عمر Context آن
- مشخص بودن شماره نگارش دات نت و همچنین ابزارهای EF استفاده شده
- غنی سازی کامپایلر با یک سری آنالایزر و تنظیمات مخصوص آن جهت اعمال سخت گیریهای بیشتر!
- استفاده از مدیریت مرکزی بستههای نیوگت برای پروژههای مختلف در Solution
- نیاز به کار با HttpClient؛ آن هم به نحو صحیحی
- نیاز به دسترسی به سوئیچها و پارامترهای ارسالی به برنامهی کنسول از طریق خط فرمان
- نیاز به دسترسی به سیستم Logging؛ شبیه به برنامههای وب
- امکان انجام آزمونهای واحد و یکپارچگی درون حافظهای
تمام این موارد به صورت از پیش تنظیم شده، در قالب ارائه شدهی توسط این پروژه موجود هستند.
برای نصب آن، ابتدا مخزن کد فوق را clone کرده و سپس فایل register_template.cmd آنرا اجرا کنید. پس از آن دستور dotnet new dntconsole، جهت ایجاد پروژههای جدید مبتنی بر این قالب، در دسترس خواهد بود.
Rider 2022.1 منتشر شد
Rider 2022.1 includes full Unreal Engine support, which converts Rider into a full-fledged IDE for game development, no matter what game engine you use.
In v2022.1, Rider also supports a Beta version of the long-awaited remote development workflow. It allows you to connect to a remote machine running Rider’s backend from anywhere in the world.
In addition to these new features, this release also brings Docker Fast mode, updates to the main toolbar, and full-text search throughout the solution right from the Search Everywhere pop-up.
:When to use Async/Await
Modern software development practices value quick and continuous updates, following processes that minimize the impact of software failures. As important as identifying bugs early, finding out if changes are improving business value are equally important. These practices can only work when a monitoring solution is in place. This article explores options for adding observability to .NET Core apps. They have been collected based on interactions with customers using .NET Core in different environments. We will be looking into OpenTelemetry and Application Insights SDKs to add observability to a sample distributed application.
- Solution Explorer: touch pad gesture scroll is too sensitive.
- C++/CLI: std::move causes std::unique_ptr parameter to be destructed before function call.
- live share shows "failed to sign in" .
- VS symbol search fails to find symbols.
- Undo randomly stops working.
- VS "Go to defintion" functionality frequently does not work.
- Linux CMake Intellisense HeaderCache not downloading headers for 15.8.0 Preview 4.0.
- When opening a project that requires elevated permissions, Visual Studio does not automatically open the selected project after restarting elevated.
- vcpkgsrv.exe crashes.
- New Visual Studio Code keymap not applying?.
کتاب رایگان Power BI Succinctly
Power BI is a cloud-based business analytics service that gives us a single view of the most critical business data. A tool for creating live dashboards and rich, interactive reports, Power BI allows access to data for monitoring the health of a business. Pierstefano Tucci will take readers through the Power BI interface, query creation, publishing your work, and more in Power BI Succinctly.
- What is Power BI?
- Service
- Desktop
- Mobile Apps
- Solution Template
- Devoloper
- Power BI Embedded
- Power BI Gateway: Data Security
1. Easily acquire all your Android platform needs
2. Jump start your Android development with C++ cross-platform templates and samples
3. One C++ IDE to target all mobile platforms (iOS, Android, Windows and more)
4. Leverage powerful cross-platform coding tools
5. Share your cross-platform C++ code easily
6. Fastest C++ builds with Incredibuild support
7. The fastest and most robust debugging experience for your Android application
8. Leverage the best in Breed, free Android Emulator
9. Gather your application insights easily using HockeyApp
10. Visual Studio is the cross-platform mobile solution (Xamarin, Apache Cordova) and just not limited to cross-platform C++
As software creation processes continue to become more complicated, development teams are taking a more all-encompassing approach that involves agile testing methodologies. Like agile software development, agile testing involves running test cases that assess the overall integrity of a solution, rather than simply ensuring that each part and piece are technically sound. Viewed as an analogy, agile testing methodologies ensure that software is a well-oiled machine, whereas a linear approach to testing just ensures that each of the gears is in good order. Herein lies the difference between unit tests and test automation.
<PackageReference Include="Meziantou.Analyzer" Version="1.0.708"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference>
<PropertyGroup> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> <CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors> <RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild> <RunAnalyzersDuringLiveAnalysis>true</RunAnalyzersDuringLiveAnalysis> </PropertyGroup>
# MA0051 : Method is too long. maximum allowed: 60. dotnet_diagnostic.MA0051.severity = suggestion
برای اینکار اولین تغییر مورد نیاز، افزودن تنظیم زیر به فایل csproj پروژهی Source Generator است:
<PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <IsRoslynComponent>true</IsRoslynComponent>
در ادامه در هر قسمتی از کدهای Source generator که نیاز به دیباگ هست، برای مثال ابتدای متد Execute، باید چندسطر زیر را اضافه کرد:
#if DEBUG if (!Debugger.IsAttached) { Debugger.Launch(); } #endif