- من از ویژوال استودیو استفاده نمیکنم (آخرین نگارشی از آن که روی سیستم من نصب است، نگارش 2015 است). تمام کار این برنامه با VSCode انجام شده و با آن مشکلی نیست. برای کنترل کیفیت برنامه و دسترسی به معادل ReSharper هم میتوانید از Rider استفاده کنید.
- مطابق مستندات رسمی خود مایکروسافت، VS 2017 دیگر از SDKهای جدید پشتیبانی نمیکند و از این پس نیاز به نصب نگارش 2019 را خواهید داشت (این مورد اجباری است برای کسانیکه میخواهند از VS و NET Core. استفاده کنند):
.NET Core SDK | .NET Core Runtime | Compatible Visual Studio | MSBuild | Notes |
---|---|---|---|---|
2.1.5nn | 2.1 | 2017 | 15 | Installed as part of VS 2017 version 15.9 |
2.1.6nn | 2.1 | 2019 | 16 | Installed as part of VS 2019 |
2.2.1nn | 2.2 | 2017 | 15 | Installed manually |
2.2.2nn | 2.2 | 2019 | 16 | Installed as part of VS 2019 |
3.0.1nn | 3.0 (Preview) | 2019 | 16 | Installed manually |
Visual Studio 2017 cannot work with .NET Core SDK 2.1.6nn or 2.2.2nn.
تنظیمات appveyor مخصوص NET Core 3.0 Prview.
- انتخاب محیط Build به صورت «Visual Studio 2019 preview»، از این جهت که نگارش preview به همراه آخرین SDK است.
- سپس قفل کردن شماره SDK در پروژهی خود، با افزودن فایل global.json
البته ممکن است این نگارش را نصب نکرده باشد؛ به همین جهت برای نصب آن، به قسمت environment پروژه مراجعه کرده و در پایین صفحه در قسمت Init script، بر روی گزینهی PS کلیک کرده و سپس دستورات زیر را در آنجا کپی و ذخیره کنید:
این دستورات فایل dotnet-sdk-3.0.100-preview7-012821-win-x64.zip را دریافت کرده (فایل zip هست و نه exe؛ یا همان NET Core Binaries.) و در یک مکان موقتی ذخیره میکنند. سپس آنرا در پوشهی SDKها جهت استفادهی نهایی، باز میکنند.
اکنون اگر به قسمت current build مراجعه و یک build جدید را شروع کنید، ابتدا SDK جدید را دریافت و نصب میکند. سپس بر این اساس شروع به Build پروژه میکند.
- انتخاب محیط Build به صورت «Visual Studio 2019 preview»، از این جهت که نگارش preview به همراه آخرین SDK است.
- سپس قفل کردن شماره SDK در پروژهی خود، با افزودن فایل global.json
dotnet new globaljson --sdk-version 3.0.100-preview7-012821
$urlCurrent = "https://download.visualstudio.microsoft.com/download/pr/41e4c58f-3ac9-43f6-84b6-f57d2135331a/3691b61f15f1f5f844d687e542c4dc72/dotnet-sdk-3.0.100-preview7-012821-win-x64.zip" $env:DOTNET_INSTALL_DIR = "C:\Program Files\dotnet\sdk" mkdir $env:DOTNET_INSTALL_DIR -Force | Out-Null $tempFileCurrent = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()) (New-Object System.Net.WebClient).DownloadFile($urlCurrent, $tempFileCurrent) Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory($tempFileCurrent, $env:DOTNET_INSTALL_DIR) $env:Path = "$env:DOTNET_INSTALL_DIR;$env:Path"
اکنون اگر به قسمت current build مراجعه و یک build جدید را شروع کنید، ابتدا SDK جدید را دریافت و نصب میکند. سپس بر این اساس شروع به Build پروژه میکند.
همانطور که اطلاع دارید که طراح xaml و Intellisense در Visual Studio، توانایی شناسایی Resources هایی را که از Libraryهای خارجی میآیند، ندارد. یعنی اگر شما بخواهید از StaticResourceها یا DynamicResourceها استفاده کنید، با یک لیست خالی در Intellisense مواجه خواهید شد و مجبور هستید تا نام Resource را خودتان بطور کامل تایپ کنید. این مشکل بیشتر بخاطر ساختار MergedDictionaryها و تعداد بالای فایلهای Resource پیش میآید. برای حل این مشکل چندین راه کار وجود دارد:
- این فایل را به پوشه Properties پروژه منتقل کنید.
- پروژه را Unload کنید و سپس راست کلیک کرده و گزینه Edit CsProj را بزنید و کدهای زیر را جایگزین کدهای DesignTimeResources قبلی کنید.
- پروژه را ذخیره کنید و دوباره Reload کنید.
- فایل دیکشنری DesignTimeResources .xaml را باز کنید و محتوای آن را به این صورت تغییر دهید.
دقت کنید که به جای خط زیر
باید آدرس منابع خود را وارد کنید.
حالا بهراحتی میتوانید منابع را در کل پروژه شناسایی کنید.
- این مشکل توسط اینجانب به تیم توسعه گزارش شد و در نسخه 16.4 پیش نمایش 3 ویژوال استودیو مرتفع گردیدهاست. اما همچنان مشکل کوچکی دارد که گزارش شده و در حال بررسی میباشد.
- تمامی استایلها و منابع خود را در یک فایل xaml قرار دهید و از ایجاد چندین فایل جدا، خودداری کنید. جهت جلوگیری از بههم ریختگی و سردرگمی، میتوانید از Region بندی کدها استفاده کنید.
- با استفاده از این روش میتوانید منابع را در حالت طراحی، شناسایی کنید. اما روش پایدار و قابل اطمینانی نیست.
- این فایل را به پوشه Properties پروژه منتقل کنید.
- پروژه را Unload کنید و سپس راست کلیک کرده و گزینه Edit CsProj را بزنید و کدهای زیر را جایگزین کدهای DesignTimeResources قبلی کنید.
<ItemGroup> <Page Include="Properties\DesignTimeResources.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> <ContainsDesignTimeResources>true</ContainsDesignTimeResources> </Page> </ItemGroup>
- فایل دیکشنری DesignTimeResources .xaml را باز کنید و محتوای آن را به این صورت تغییر دهید.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/MyAssembly;component/Presentation/Common/Resources/Main.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary>
<ResourceDictionary Source="/MyAssembly;component/Presentation/Common/Resources/Main.xaml"/>
حالا بهراحتی میتوانید منابع را در کل پروژه شناسایی کنید.
نظرات اشتراکها
NET Core SDK 3.1.106. منتشر شد
See the following table to select the correct download
OS | Development Environment | .NET Core SDK |
---|---|---|
Windows | Visual Studio 2019 version 16.6 | 3.1.302 |
Windows | Visual Studio 2019 version 16.4 | 3.1.106 |
MacOS | Visual Studio for Mac | Visual Studio for Mac .NET Core Support |
نظرات اشتراکها
آخرین نگارش ReSharper به همراه یک غلط یاب املایی است
ممنون میشم اگر مشابه همین امکانات ReSharper مثل غلط املایی و ... در Visual Studio Code معرفی کنید.
نظرات اشتراکها