Great video, and really helpful in getting people to push toward .NET Core 3
@IAmTimCorey5 жыл бұрын
Thank you!
@scottgodfrey78555 жыл бұрын
I would definitely like to see a conversion from framework to core. Especially, a program like Tournament Tracker, which is based on winforms and framework. Your videos are very descriptive and easy to understand. I will always go to your videos and classes when I'm trying to learn a new technology (Such as Core).
@IAmTimCorey5 жыл бұрын
I'm fairly certain I'll be doing an upgrade to Tournament Tracker.
@Vagelis_Prokopiou5 жыл бұрын
Nice stuff Tim. Thanx.
@IAmTimCorey5 жыл бұрын
You are welcome.
@virtual00173 жыл бұрын
Excellent - thank you very much! I love how well you explain everything.
@IAmTimCorey3 жыл бұрын
Glad it was helpful!
@haizzengunn93504 жыл бұрын
Thanks for sharing this video, it really helped me alot.
@IAmTimCorey4 жыл бұрын
You are welcome.
@renu34633 жыл бұрын
Really thanks Tim. I really like the quality. 🔥
@IAmTimCorey3 жыл бұрын
You are welcome.
@GeminiLearning5 жыл бұрын
Great information. Thanks men
@IAmTimCorey5 жыл бұрын
You are welcome.
@StudentCompanion5 жыл бұрын
Great tutorial. Thanks
@IAmTimCorey5 жыл бұрын
You are welcome.
@AshProgHelp4 жыл бұрын
great video. thanks for sharing this video.
@IAmTimCorey4 жыл бұрын
You are welcome.
@nandkishorsonwale694 жыл бұрын
Thanks, great work...
@IAmTimCorey4 жыл бұрын
You are welcome.
@zarokoshin40903 жыл бұрын
Beautifull !! Just what i needed 😊 Quick question if my app depends on a database file (SQLite) and wanna do the self contained and just the .exe file in it (.net core) then the db will be in the same directory of the exe ? Thanks in advance, as always thanks for your tremendous work !
@dawidbiell3 жыл бұрын
Cool video! Looking forward more :)
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for watching and sharing your thoughts!
@zangwoosung5 жыл бұрын
I have been waiting for you.
@IAmTimCorey5 жыл бұрын
I'm glad you found it.
@zm121234 жыл бұрын
Hi Tim, I love your videos and have a suggestion: Can you please create an entire course on software architecture and SOLID principles? As a beginner that is just gaining momentum in software development, learning about architecture and SOLID principles was the "AHA!" moment that really helped me progress. Thank you, and keep up the fantastic work!
@IAmTimCorey4 жыл бұрын
You mean beyond the SOLID videos I've already done? kzfaq.info/sun/PLLWMQd6PeGY3ob0Ga6vn1czFZfW6e-FLr
@krysh72134 жыл бұрын
Thanks, Tim. What I always wanted to learn, is to how to create the installer for the desktop app. Could you make a video about it? Not only in .Net Core 3.0.
@IAmTimCorey4 жыл бұрын
I will add it to the list. Thanks for the suggestion.
@Sladeofdark3 жыл бұрын
Love it!
@IAmTimCorey3 жыл бұрын
Great!
@erikjansen91493 жыл бұрын
Thnx a lot. enlightening. And: Suddenly, a Properties folder appears. I suppose that is for the Publish Profile? Does Properties also contain the Resources? And are they handled like in Framework apps?
@mjaguilar9235 жыл бұрын
Thank you
@IAmTimCorey5 жыл бұрын
You are welcome.
@pylvr80215 жыл бұрын
thanks tim, awesome as always . can you please do a tutorial about, multithreading, semaphore...
@IAmTimCorey5 жыл бұрын
I will add it to the list. Thanks for the suggestion.
@harryroper96595 жыл бұрын
Tim, Wonderful informative video as usual. Do you have any suggestions for replacement of the App.config file for a strictly desktop, no internet, application? Is there a way to still use the configuration manager to set, get and modify key value pairs. I guess I could use a simple text file. But, is there a better option? Many thanks Harry
@IAmTimCorey5 жыл бұрын
You would use appsettings.json to store your settings.
@chezchezchezchez4 жыл бұрын
did that work for u?
@DoctorMGL2 жыл бұрын
but when it come to UI style is it still diff or it become the same as well ? so should we drop wpf now or what ?
@KhalidMehmood-lm5xd3 ай бұрын
What if project have sql dependency can we do the same process with sql as well. How target machine configure sql settings. Do I need to set the connectionString with target machine CS?
@conkerconk33 жыл бұрын
11:30 if you look at those 4 blue lines attached to the top/bottom/side in the middle of the button, they stretch up to the parent container, and where the blue lines end there's a grey/white 'thing'. clicking those allows you to align/dealign components to those sides. e.g. if the top and left 'thing's are white but the other 2 are greyish then it's aligned to the top left. and it the top, left and right ones are white, then it stretches it's width and is aligned to the top. that's one handy thing about the designer if you didnt know
@IAmTimCorey3 жыл бұрын
Thanks for sharing.
@TheBoxyBear3 жыл бұрын
Now the WinForms designer is out but it still has severe issues working with TableLayourPanels that require lots of closing Visual Studio and redoing some parts of the interface. I mostly ended up doing these parts manually in the designer.cs Also the items in menustrips and similar controls is now down entirely in a separate window that for some reason is missing the events tab so you have to subscribe to those manually. You also can't do it in designer.cs since saving the interface from design view overwrites the file, removing the subscriptions.
@leosilva04113 жыл бұрын
Nice video Tim! Just a question, would it be faster an app in which the .EXE contains everything (dll's, the app, etc) or the app running in a pc with .Net Core already installed?
@IAmTimCorey3 жыл бұрын
There shouldn't be a speed difference.
@leosilva04113 жыл бұрын
@@IAmTimCorey Thanks!
@hawnyawk15 жыл бұрын
Great video as always. How would you move to different versions of Core? At work I'm always having to remove old versions of Core runtime for security reasons. If my app is written in one of the old versions, will it still work, or how would I move it to the new version? The .Net framework never had this problem, it was just patched and I never had to remove anything.
@IAmTimCorey5 жыл бұрын
Moving to a new version of .NET Core is typically quite easy. You just install the new version on your machine and then target the new version in your project. References should update and you should be good to go. Actually a very similar process to what we did in .NET Framework.
@hawnyawk15 жыл бұрын
@@IAmTimCorey Thanks Tim, I'm just guessing that Core doesn't get patched like Framework, it just goes to a new version? If it's easy to move , no big deal, but it would be different than Framework, where I have used the same version for years without needing to update, with Core it's like every week.
@MusfiqFahadAmin5 жыл бұрын
Anybody can follow Tim's tutorials and become a good developer; amazing mentor and truly experienced developer!
@IAmTimCorey5 жыл бұрын
I appreciate the kind words.
@dondada42053 жыл бұрын
Great Video ! Joe Rogan for devs My .exe wasnt able to create the single file into one folder, Things have changed a little since this tutorial. When in the Publish menu -> Edit -> dropdown arrow 'File publish options' -> Produce Single File Until I done this (Even though I had PublishSingleFile and PublishTrimmed as true in the csproj) I couldn't produce a single run file.
@IAmTimCorey3 жыл бұрын
Thanks for sharing!
@levteck4 жыл бұрын
In Core3.1 The publish to a single file tags did not work until I clicked on the "new" corresponding checkboxes in the Edit window of the Publish screen under the new little down arrow sign under the last text box titled File Publish Options. I run Microsoft Visual Studio Community 2019 Version 16.5.0 . Now it works and I use a setup project to deploy the exe with an icon.
@IAmTimCorey4 жыл бұрын
I'm glad you figured it out. They changed a few things during the upgrades.
@Glearian2 жыл бұрын
First of all, hi, when it comes to creating a project for WPF, only the (.NET Framework) part appears, the WPF App(.NET Core) template does not. I installed .NET on the PC, the latest version, but it does not appear in visual studio. I would be very happy if you could help.
@IAmTimCorey2 жыл бұрын
First, check to see if you have a WPF App template that does not specify the .NET type - that is now going to be the .NET 6 version, if your Visual Studio is up to date. If your Visual Studio is not up to date, you can go to www.visualstudio.com and download the latest version of Visual Studio 2022 Community Edition for free (some exceptions apply, but almost everyone qualifies to use it for personal use). That's the edition I use for all of my videos now. It is the full version. In fact, it is the same as the professional edition except the pro edition costs money (if you don't qualify for the community edition). When you install it, it will install the latest frameworks and versions for you.
@RealKeithernet5 жыл бұрын
I’m really excited about having a modern web viewer and media controls in WPF. Maybe you could show how XAML islands work?
@IAmTimCorey5 жыл бұрын
I will add it to the list. Thanks for the suggestion.
@tajindersanger29534 жыл бұрын
Hi Tim, I was stuck at 29:43, I am trying to condense the content in my publish folder and even after adding the three lines of code in my csproj file and publishing, the content is still not being condensed. I also get no errors on the build either.. I was wondering whether there was any alternative for getting the file content in the /publish folder reduced? Also, I am on the latest netcoreapp3.1 (would this make a difference)Thank you in advance
@IAmTimCorey4 жыл бұрын
I believe they made some changes in 3.1. Check the advanced options when you publish. There should be an option to make it self-contained.
@facundopugliese96324 жыл бұрын
Hi! I couldn't get it too. I'm also working on .NET Core 3.1 and tried several things to get just one .exe file like in Tim's video (he did it targeting .NET Core 3.0). Could be a .NET Core 3.1 issue? Please I appreciate any info (if there is something new to solve this or if I'm missing something). Thanks both!
@oneTwo-qr7ok3 жыл бұрын
Hello guys, When opened profile setting window, there is "File publish options" on the bottom . You hit the button and check "Produce single file" check-box then there are just two files appears in publish folder.
@mohamedchaabouni44774 жыл бұрын
Hello ! thanks for this ! So personnaly I want to see a section for Screen, conductors and navigation inside WPF app in the net i didn't find any relevent sources :(
@IAmTimCorey4 жыл бұрын
Look at the TimCo Retail Manager. We deal with screens, navigation, eventing, etc.
@MakoMako12343215 жыл бұрын
Awesome video. Are you planning on making videos about blazor?
@andywalter74265 жыл бұрын
I would also like to see a video about blazor. I would suggest for the timco one to use blazor instead of javascript. The purpose of blazor is to allow more people to build web pages who don't know java script . Since javascript is a low level language and c# is a high level language.
@IAmTimCorey5 жыл бұрын
I do intend to do a video (a few, actually) on Blazor once it becomes a bit more stable.
@jimkeifer1353 жыл бұрын
While I am learning C#, should I attempt to transition my example code and practice apps into net core?
@IAmTimCorey3 жыл бұрын
Yep, that’s a good idea now.
@AaronEstebanSEO2 жыл бұрын
Hey Tim, I wanted to learn the C# language next, but I wasnt sure if I'd still be able to build desktop applications with a GUI & have them cross-platform compatible (Windows, MAC, & Linux). If I use the DotNET Core framework, would my C# desktop application (WinForms app) run on Windows, MAC, & Linux straight out the box without additional plugins or libraries in most scenarios? Is it pretty easy to Publish and deploy for all platforms?
@IAmTimCorey2 жыл бұрын
.NET Desktop apps do not work cross-platform yet. In the future with .NET MAUI, there will be a desktop project type that will deploy to Mac, Windows, iOS, Android, and the web all from the same app and codebase. However Windows Forms and WPF (Windows Presentation Foundation) both have Windows in their name for a reason - they depend extensively on the Windows dlls. That is not something that can be changed so they will never work cross-platform, even though they are powered now by .NET Core and .NET Core can be cross-platform.
@tanmaysinghal83703 жыл бұрын
Visual studio 2019 not showing me any .NET FRAMEWORK option? even though I've .net frameworlk installed. What can i do?
@IAmTimCorey3 жыл бұрын
It sounds like you have the filter turned on for only .NET Core project types. Since .NET Framework comes with Windows, you should be able to see .NET Framework project types (unless maybe you didn't install those project types when you configured Visual Studio).
@dingdong1415 жыл бұрын
This is cool all we need now is some UI that works cross platform
@IAmTimCorey5 жыл бұрын
Yeah, that would be nice.
@MaximilienNoal5 жыл бұрын
AvaloniaUI is getting there.
@dingdong1415 жыл бұрын
@@MaximilienNoal never heard of this ui but this looks interesting.
@scottgodfrey78555 жыл бұрын
Xamarin Forms works on MacOS, iOS, Android, and UWP (Windows 10 and, I believe, 8). Linux isn't there...yet.
@roycelithgo39684 жыл бұрын
On .NET Core 3.1 the .csproj settings had no effect - you need to enable the options from within the publish profile settings. They are hidden behind File Publish Options underneath Target Location. I enabled Produce single file and Trim unused assemblies (in preview).
@IAmTimCorey4 жыл бұрын
Hmmm, I'll look into that.
@hyxzel22265 жыл бұрын
I'd like to ask how to dynamically resize the UI of my application so it fills the rest of the window?
@IAmTimCorey5 жыл бұрын
Play around with the Columns and Rows in the Grid. Use the * value to make the row or column will up the remaining space. Use it for multiple columns/rows to fill the space evenly. Don't assign widths/heights to items. Let them fill the available space.
@hyxzel22265 жыл бұрын
@@IAmTimCorey Thanks, I'll try it immediately. I've tried using the grid functions like HorizontalAlignment="Stretch" and VerticalAlignment="Stretch" but it works for just some part like the home page of my application.
@StephenJWalter5 жыл бұрын
Great video, as ever. One question I have is whether every, and I do mean every, namespace in the BCL be migrated to .NET Core 3.0? If not, will it be possible to consume such legacy namespaces from within at .NET Core executable. I’m thinking of System.Speech for example.
@shootgp5 жыл бұрын
From my understanding, which could be incorrect!!! is that .NET core is intended to be platform independent. As is grows, platform specific packages will become available via Nuget (i.e. Windows specific, Linux specific, et). In the mean time, have a look at: docs.microsoft.com/en-us/azure/cognitive-services/speech-service/quickstart-dotnet-text-to-speech
@IAmTimCorey5 жыл бұрын
Not sure about the BCL but yes, you can call legacy code from .NET Core but you can't then take that project cross-platform.
@StephenJWalter5 жыл бұрын
shootgp Thanks @shootgp. I had already found Ms Cognitive services and plan to have my app support that and other cloud-based STT’s (eg IBM Watson, Google etc). A System.Speech option remains attractive though for zero cost and offline capability with the obvious limitation of single speaker recognition. Thanks again for taking the time.
@StephenJWalter5 жыл бұрын
IAmTimCorey Thanks for taking the time to answer. Yeah I get that it wouldn’t be cross platform but DI is the gift that keeps on giving here. The initial WPF version of my app would surface a service using System.Speech (as long as .NET framework 3.0 or greater was found). Later Xamarin.Forms versions targeting Mac OS/X and iOS and Android just wouldn’t have that service compiled in let alone available. Again, thanks for both your quick reply and more generally your most generous and highly valuable tutorials; I’ve learnt so much in the last year.
@amigoface5 жыл бұрын
Hi, can you suggest please a good MVVM framework for august 2019 ? something with a good balance between ease of use and features and that work with wpf and .net core . a little search gave me a few : reactive UI, caliburn micro, mvvm light .... etc so any advices is welcome thanks.
@IAmTimCorey5 жыл бұрын
I love Caliburn Micro and definitely recommend it. It has been stable for years and it is actively being maintained.
@amigoface5 жыл бұрын
@@IAmTimCorey Cool i will check that . do you have experience with reactiveUI as well ?, i have very good things about it ...
@KouroushMetal5 жыл бұрын
I Think a video about convert from Asp.Net MVC Framework to Core would be great in future.
@IAmTimCorey5 жыл бұрын
It is coming.
@Dasutein5 жыл бұрын
How is versioning handled in .NET Core 3 since the Assembly file is not present anymore unlike in .NET Framework?
@IAmTimCorey5 жыл бұрын
The target version for the application is stored in the csproj file in a tag called "TargetFramework".
@David-id6jw5 жыл бұрын
You have two options. You can set all the version/copyright/etc information under the Package tab that's available when you look at a project's properties. Or you can continue to use the assembly.cs file, and set false in the main group of the project file itself to make sure it doesn't try to generate the info automatically, but instead use the info you put in the assembly.cs file. The former is fine if all you're doing is setting version numbers (not including AssemblyInformationalVersion). The latter may be needed for setting certain project settings, like InternalsVisibleTo, ComVisible, etc. TargetFramework obviously has nothing to do with your own project version information.
@chezchezchezchez4 жыл бұрын
Just got CORE 3.0 Is this video still TOTALLY relevant? Or do we need an update? Thanks!
@IAmTimCorey4 жыл бұрын
Yep, this video was based on .Net Core 3.0, just a pre-release version.
@shootgp5 жыл бұрын
I'm still a little confused... Will .net core apps (such as WPF.core) run on Windows 10 IOT (on a raspberry pi 3 for example)? Regarding the Raspberry and win10 iot, previously only UWP projects could be loaded. While the nuts and bolts are the same (core/standard), is it supported? Still watching, but need to crash out soon....
@IAmTimCorey5 жыл бұрын
No, they will not. UWP is still your go to solution for IoT at the moment. WPF will only run on Windows (full Windows).
@MauricioCaterino5 жыл бұрын
Hey Tim, I keep asking what option do we have to build desktop applications that are really Cross Platform . I mean that runs in Windows, Linux and Mac. Do we have to learn Java?, do we have to use another UI tool and a different IDE. For mobile We have Xamarin. But, for desktop I can't see any.
@zakaria49885 жыл бұрын
I really recommend ElectronJS or Kivy they are cross platform (specially Kivy it works as a desktop and a mobile App)
@MauricioCaterino5 жыл бұрын
@@zakaria4988 Thanks, I'm going to find oud.
@IAmTimCorey5 жыл бұрын
Xamarin can create Mac applications but a true cross-platform desktop application is more difficult. That is where a lot of people are turning to Electron (including VSCode). Blazor might be the next step in the evolution but I'm hoping that .NET 5 or 6 will bring us true cross-platform desktop apps.
@MauricioCaterino5 жыл бұрын
@@IAmTimCorey Yeah, I realized that. But Electron is not for c#. There is a project called avalonia which is a framework for wpf and is cross platform for Linux and Mac but still in beta.
@scottgodfrey78555 жыл бұрын
@@MauricioCaterino Windows 10 (If it doesn't already) will have a linux kernel built into it. I see plans in the future for Xamarin to include building for linux too. Microsoft is REALLY pushing Xamarin and .NET as it's core technologies.
@chrisspellman59525 жыл бұрын
Saw we just signed up for your newsletter, is it too late for Christmas?
@IAmTimCorey5 жыл бұрын
Yeah, sorry, the sale ended July 31st at midnight. More sales will be coming though.
@metekaba65323 жыл бұрын
Hello sir. Thank you for this wonderful tutorial :) I was going to create a WPF App (.NET Core) project, however it is not listed on my visual studio. I've tried everything including installing .NET Core 3.1 SDK and updating the VS but still the same. I can only see WPF App (.NET Framework) and WPF App (.NET) :/ Once again, thank you for such a brilliant tutorial!
@IAmTimCorey3 жыл бұрын
OK, I think the problem is that with the .NET 5 update, they changed the template names. You would want the (.NET) version, which is .NET 5, which is really a minor revision from .NET Core 3.1.
@metekaba65323 жыл бұрын
@@IAmTimCorey Yes, I think so. I have selected one option called "Show all .NET Core templates in the New project dialog" in Tools/Options/Preview Features and now there is a WPF app template with .Core but a different name as you said. There are three templates .NET Framework, .NET Core, and just .NET. However, I could not find any resources includes just ".NET" WPF.
@howardwalowitz36003 жыл бұрын
Thanks for sharing. I would like to see a video on WinUI
@IAmTimCorey3 жыл бұрын
I’ve got it on the suggestion list.
@facundopugliese96324 жыл бұрын
Hi Tim, I would like to ask you how to publish or deploy a WPF app but with a connection to a SQL Server DataBase. Do you have any video showing this? I really tried to understand the process but I'm not getting any answers in my search. Thanks for share your knowledge.
@IAmTimCorey4 жыл бұрын
I'll be publishing my WPF app in the TimCo Retail Manager series soon. It doesn't have a connection string but it does have a URL to update (very similar concept). Basically, you just need to update the connection string during publish (if it is going to change).
@munkhn735 жыл бұрын
First, I wanna say “thanks to you, i need to recreate most of my works now” (well in a good way, of course. Your lessons are eye opener) Second I have few questions. - I need to make application that can run on windows xp(without needing to install net frameworks additionally). So somewhat i have to depend on .net 2.0. But some things(functions and methods etc.) i need are not in the 2.0. And the question is if i understood it correctly .net core application will run on xp without any problem? - you added trimmed something tag in the project file which should remove all unused components. If the trimmed version of blank white window is 100mb, how much will the decent application size be? How big is the .net core? If it was console demo app, will the “trimmed” will trim everything except System and Console or will it be same as wpf and have size like 50mb? - imho web application may benefit from the .net core, but i don’t really see any advantage on desktop apps since they can’t be platform independent. Will it really have a noticable speed boost? There was a debate on python for a long time, which is should you be switching to python 3 or stay with the python 2. I was on the stay with the python 2 side until python 3 developed to the point like python 2, at least package wise. I’m assuming same with .net framework and .net core. Why rush, when you can for it to grow?
@IAmTimCorey5 жыл бұрын
Excellent questions. I'll do my best to answer. XP is so old, I'm not sure if it would run or not. I would love to hear the results of a test. If you do test it, email me and let me know the results. As for the trimmed application, yes it is large but it won't get a lot bigger. Even a Console app is 29mb. The reason for the size is because of how much of the base libraries it needs. That won't change by adding five more forms or even data access. Yes, there will be a noticeable speed boost. Also, you get the continued development. For instance, Microsoft has improved how we store secrets (a layered approach). They have also made web authentication plug and play. Logging and dependency injection are also very easy. I would definitely encourage you to start planning the move to .NET Core. For all new development, move now. You can always use the .NET Framework code as well and the move is not difficult. For legacy apps, plan the transition now and perform it over the next couple years. As for the idea of "why rush", this isn't a rush. .NET Core is on its third major version. Yes, desktop apps are just now appearing but that is mostly about the tooling, not the code that powers them. That code has been complete, or nearly so, for months.
@munkhn735 жыл бұрын
IAmTimCorey thanks for all the advice. So even though i didn’t use anything except from System and or Console namespace microsoft will add other crucial libraries anyway? Or System alone that big? Noticable speed boost sounds great. There are some badly made applications here (where i work) take ages to load and operate. So i guess at least they(those who made) could convert their applications to net core if they can’t fix and/or improve. by rush i meant wait for the third party and user created packages. A rookie programmer like myself depends on them most of the times. Also like you said in your video. Why recreate something when somebody has already created it. For example this caliber micro. The application i said earlier uses 3rd party packages, so i can’t recreate my app using net core until they (third party) make their package avalaible on net core, i guess. I can use something like dotnetpeek and create my own version of their package. But that’s too much hassle and whether that will be considered as stealing other’s work or not. Of course this doen’t mean stay away from net core. And lastly you have probably noticed, i’m from country where english isn’t the native language. So, sorry for the broken english?
@gselby81074 жыл бұрын
Hey Tim. Really good stuff.Thanks. I have a problem in a WinForm project. I created a class library in .NET Core. Then when I went to add my forms library, I wasn't paying attention and created that in .NET Framework. I have a SQL connection, and when I run it the app is trying to load the assembly System.Data.SqlClient 4.8 (in Core), but Framework uses 4.6 so it blows up. What is the best way to "convert" my .NET Framework forms library to Core? (please don't say start over in Core) :-( Thanks Tim.
@IAmTimCorey4 жыл бұрын
If you look at the TimCo Retail Manager series, I show how to upgrade a WPF project to .NET Core. The way to do it is practically the same for WinForms. The process is actually quite easy to do. I do have a course on it as well, that includes upgrading WinForms: www.iamtimcorey.com/p/upgrading-to-net-core-from-start-to-finish
Hi Cory, thanks again for you video, but I don't know if I missed it, there is any way to edit a little bit of informations like you explain in msix installer video. I'm try to deploy my to clients, but without the necessity to acce internet or have certificates (it's quite internal), I see that is the best way to do it, but I want to edit the informations, like: icon, author and so on. Thank you very much!!!
@IAmTimCorey3 жыл бұрын
You would set those in the properties for the UI project (WPF or WinForms).
@bigpego903 жыл бұрын
@@IAmTimCorey thank you very much!!
@kareemsakr414 жыл бұрын
Hi guys, is .NET Core WPF production ready ? I have a greenfield project and not sure if i should stick with vanilla WPF or go with core for longevity
@IAmTimCorey4 жыл бұрын
Yes, it is ready for production. It has been production-ready for about 9 months and is fully supported by Microsoft. Go with the .NET Core version.
@kareemsakr414 жыл бұрын
IAmTimCorey thank you for responding. Would your pre .NET core WPF courses be relevant for the core version as well ? My goal is to find a complete course stack that will cover everything from wpf itself then MVVM custom controls etc
@examplewastaken4 жыл бұрын
Hey Tim, I ran in a problem no one seems to have. I made a WPF application, and wanted to deploy/publish it (self-contained, win-x64, single file, trimmed, ready to run). No problem, runs really well on my computer. But I cant start it on any other computer than the one I developed it on. On others, than my own, I see it starting in the task manager for about 2 seconds and then it closes again. The GUI never showed up, nor did the icon in the taskbar. Any idea what the reason could be?
@IAmTimCorey4 жыл бұрын
That's an interesting one. Try disabling the trimmed and ready to run off and run it again. Maybe something is getting missed in the tree shaking. If that doesn't work, try putting in logging, especially around the startup events. That might reveal something. It sounds like either a tree-shaking issue or that you have something on your computer that the application is expecting that is not on other computers (file path, etc.)
@examplewastaken4 жыл бұрын
@@IAmTimCoreyThank you very much for your answer! there are now two ways to enable/disable ready to run etc. 1. In the project file and 2. When editing the publish profile. But I couldn't figure out which one counts. Also the app is just calculating. There are no files or anything like that.
@AdamsTaiwan5 жыл бұрын
I'm having problems porting. My WPF app worked with Preview 6, but broke with Preview 7. The line: var wa = System.Windows.Forms.Screen.GetWorkingArea(new System.Drawing.Point()); Errors with: error CS0234: The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?) Not sure how to fix, so it seems that porting will not be easy. System.Drawing.Image moved to System.Drawing.Common and I had to get that from nuget.
@IAmTimCorey5 жыл бұрын
When you reference the System.Windows.Forms namespace, that is WinForms. They may have changed where that is located or changed that functionality. You will need to look at what was changed an if it was replaced or removed (unlikely).
@AdamsTaiwan5 жыл бұрын
@@IAmTimCorey I couldn't find anything in their documentation regarding this change.
@andywalter74265 жыл бұрын
There is also one more major advantage of core that was not mentioned. Currently, core is the only one that supports a new c# 8 feature that changes the way we do programming called default implemented interfaces.
@IAmTimCorey5 жыл бұрын
Yeah, the jury is still out on how I feel about that one.
@andywalter74265 жыл бұрын
What are the drawbacks about the new default interface implementations. There was many cases where an interface was designed and other things had to be added to it. The only setback though I have found is if you have the properties one, then you still have to implement it unless the default implementation would be a blank method. This can be a good workaround for the fact that c# does not support multi inheritance. Would have been good if you have several classes where the properties are the same but the classes are different. Currently, a person has to repeat themselves quite a bit.
@andywalter74265 жыл бұрын
I have. I found a few workarounds even for the fact it shows more warnings than expected.
@davidwhite20114 жыл бұрын
So what about MVVM frameworks? What is supported now? Is Caliburn going to be supported in Core 3.0?
@IAmTimCorey4 жыл бұрын
Caliburn Micro is supported in version 4, which is only in preview mode right now. You can see me upgrade the TimCo Retail Manager WPF UI to .NET Core 3.0 (which uses Caliburn Micro) this week.
@mishashins4 жыл бұрын
hi, please tell me if you can use 2.1 instead of .net core 3.0, because you can't choose the version
@IAmTimCorey4 жыл бұрын
If you cannot choose .NET Core 3.0 (or 3.1), you will need to update your version of Visual Studio (which should bring down the newest .NET Core versions) or install the .NET Core 3.0 (and 3.1) SDK manually. Desktop apps did not have .NET Core until .NET Core 3.0.
@mishashins4 жыл бұрын
@@IAmTimCorey thanks
@user-eq5bw7mc7x3 жыл бұрын
Hi, I'm a leaner from China. I really like this series. Many chinese wpf tutorial use old .net framework in an old environment(even in xp and vs 2010), so can I bring this series to a Chinese video platform?
@IAmTimCorey3 жыл бұрын
I'm sorry, but that's not something I permit at this time. My content stays on KZfaq. If you want to link to videos, that's fine, but I don't permit them to be removed from KZfaq to be used elsewhere.
@user-eq5bw7mc7x3 жыл бұрын
@@IAmTimCorey Okay. Anyway, thank you for your lessons.
@illmtoloko4 жыл бұрын
Is it possible to create WPF Desktop Apps (self-contained) in linux with visual studio core?
@IAmTimCorey4 жыл бұрын
No, because WPF is still Windows-only even though it is powered by .NET Core. It still uses Windows-specific items to render and that isn't something that is easily removed. It would basically require a full rewrite.
@illmtoloko4 жыл бұрын
@@IAmTimCorey thank you. Another question, is there another way of achieving that using other thing then WPF?
@suchabs3 жыл бұрын
For people who watch it now, .net core is now named .net 5, so you need to create "WPF App (.NET)" now.
@IAmTimCorey3 жыл бұрын
Yep. Isn't naming fun?
@DamianWalczak5 жыл бұрын
why not an example with .net fx 4.8 ? since it has been released for the good few weeks now ?
@IAmTimCorey5 жыл бұрын
Thanks for the suggestion. I'll add it to the list.
@eliezerportillo74 жыл бұрын
Hi! ¿What about Crystal Reports compatibility?
@IAmTimCorey4 жыл бұрын
Not sure. I haven't used Crystal Reports in years.
@ameskeoh5 жыл бұрын
Hello Tim, Interesting video however PublishTrimmed gives me an error, it still compiles but when run...nothing. When I remove the PublishTrimmed statement everything works but of course the file is much larger. I'm running Core 3.0 Preview 7
@IAmTimCorey5 жыл бұрын
Make sure you specified win-x64 as well and that you spelled everything correctly. Maybe try my source code and compare them.
@ameskeoh5 жыл бұрын
@@IAmTimCorey I received your files but they will not load "Expected imports missing". I was able to read the csproj file which reads identical to mine.
@ameskeoh5 жыл бұрын
OK, I got it open but it still throws the same error regarding the PublishTrimmed line
@kstevenson35044 жыл бұрын
I want to learn .NET Core. NOt sure what flavor I should learn. I'm working on a desktop application at work. Should I expand to other types or focus on moving desktop to .NET core?
@IAmTimCorey4 жыл бұрын
I am assuming you know C# well (because that's the place to start). After that, learn what you need for your job. Learning the rest is a good idea so you have options down the road. Even if you are using just desktop apps, knowing API, for example, will help you improve your desktop applications and prepare for a broader future.
@santiagopiaggio20994 жыл бұрын
Do you have any video about .net Core 3.0 MVC?
@IAmTimCorey4 жыл бұрын
This comparison video covers MVC: kzfaq.info/get/bejne/bZ-FitmDnJmYp30.html
@Ultimeh3 жыл бұрын
sadly these published options in .net 5 doesnt seem to work properly at least for me. Especially a single file with "self-contain". dont needed file arent compile with the exe
@IAmTimCorey3 жыл бұрын
It sounds like you might be missing something in your setup.
@claasdev5 жыл бұрын
I am really looking forward to (client side) Blazor even though that might not make it to .NET Core 3. To imagine we might be able to run .NET applications cross platform using Electron just amazes me. Would really be interested in a video about Blazor in general (might have missed one)
@IAmTimCorey5 жыл бұрын
It is coming in the somewhat near future.
@officialspock5 жыл бұрын
Does this mean you can't deploy .net core and .net framework when its combined in your solution?
@IAmTimCorey5 жыл бұрын
You can but not the same way.
@dsalodki5 жыл бұрын
What with Linux embedded in Windows? I mean in core of Windows. Linux is for me working bad but I saw fixes for it (for CPU). Is it possible to install not only for installed OS but other place than disk (hdd)? Can I try VM with Linux to install the patch for CPU for real CPU? I know that only CPU cores dedicated for VM and sometimes parts of cores.
@IAmTimCorey5 жыл бұрын
I'm not familiar enough with the WSL to help you out there. It won't allow WPF to run on Linux, though.
@sc1002000904 жыл бұрын
Quite a good comprehensive source of info. However, unfortunately haven't found the App.Config file, although added manually to a WPF Core app, to be working in case of Connection Strings, as the same used to be working successfully in case of WPF Framework. It goes on reflecting the "Object reference not set to an instance of an object" error with the line being highlighted being as clear as one like: optionsBuilder.UseSqlServer(System.Configuration.ConfigurationManager.ConnectionStrings["CONNECTIONNAME"].ConnectionString);
@IAmTimCorey4 жыл бұрын
In the .NET Core, things have changed as far as configuration. We now use appsettings.json to store configuration information, including connection strings. We can access those settings using the Microsoft.Extensions.Configuration NuGet package. In some of my other .NET Core videos, I demonstrate how to do this. I also demonstrate how to do this in a .NET Core WPF app in the TimCo Retail Manager app when we upgrade it to .NET Core.
@sc1002000904 жыл бұрын
@@IAmTimCorey Well! Well! That's for the first time I have received such a reply! Thanks Tim! Do see if you can share links to your valuable videos upon the same as well! Thanks again!
@benzayed54352 жыл бұрын
why my viusl studio does not have wpf. net core
@IAmTimCorey2 жыл бұрын
You probably haven't installed it.
@zerosandones75473 жыл бұрын
how to publish a wpf app with service-based database? I'm really lost right now.
@IAmTimCorey3 жыл бұрын
Typically, you would publish your database separately.
@4everzapy2 жыл бұрын
i dont find wpf core, its deprecated now in 2022?
@IAmTimCorey2 жыл бұрын
It is not. It might just be called WPF.
@diyaCricketStar4 жыл бұрын
Can this will work Linux and Mac OS? I would like to create a desktop application which will work all cross platform with .net core 3.0. please suggest?
@IAmTimCorey4 жыл бұрын
No it will not. You will need to look at third-party solutions like Uno or Avalonia for that.
@diyaCricketStar4 жыл бұрын
Can you please share demo for OS and Linux also?
@diyaCricketStar4 жыл бұрын
As you suggested
@IAmTimCorey4 жыл бұрын
Demos of those platforms are on my todo list.
@dharmendrakumarsingh88404 жыл бұрын
Hello Respected Can you please share a UWP Demo using .net core 3 in WPF .Or let me know can in consume UWP Api in wpf net core 3.0 ?
@IAmTimCorey4 жыл бұрын
I’ll add it to the suggestion list.
@leapingblackcat4 жыл бұрын
On .NET I could run up a single WPF .exe app. Core WPF apps compile to three files an .exe, a 6KB .dll and a 1KB JSON. This is additional complexity. At what point will a programmer decide to edit the JSON without changing the source code for the .exe? Rarely I suspect. Why is there separate .dll? If I do not know what it does, without doing research, I am not going to replace it. It is like the app was needlessly dismembered.
@IAmTimCorey4 жыл бұрын
The issue here is one of how you create your EXE. There is a setting to pack all of that into the EXE and just have the one file - even if you have an appsettings.json. That's tighter than a .NET Framework EXE can do (it will have the app.config that needs to be separate plus any DLLs that it depends on). A .NET Core EXE can also bundle in the .NET Core runtime itself into the EXE so that you don't have to have .NET Core installed on the target machine. With .NET Framework, we got what we got. With .NET Core, you get a lot of options. The default might not be what you want but there is almost certainly a setting for you.
@elirannissani9143 жыл бұрын
So i dont get it. CAN I MAKE THE APP THAT I AM CREATING IN WPF .NET CORE RUN ON MAC AND LINUX OR NOT??? YOU REALLY CONFUZED ME...
@IAmTimCorey3 жыл бұрын
I mentioned this in the video but no, you cannot. They are powered my .NET Core but they are still bound to Windows. The reason for the upgrade is the massive speed improvements in .NET Core.
@elirannissani9143 жыл бұрын
@@IAmTimCorey ok
@zangetsu2k85 жыл бұрын
Please make a video on Blazor.
@IAmTimCorey5 жыл бұрын
It is coming.
@LuigiZambetti5 жыл бұрын
A full course on WPF for .NET Core, could be a valid idea? (also not free).
@IAmTimCorey5 жыл бұрын
Thanks for the suggestion.
@Ziplock90005 жыл бұрын
@@IAmTimCorey If it's the same as framework, is there any point?
@AmitSharma-bl1ur5 жыл бұрын
Sir is it will be possible in future we could deploy .net core wpf app on linux
@IAmTimCorey5 жыл бұрын
No, that is not currently in the plans that I know of. The W in WPF stands for Windows. They would have to do a lot of work to make the conversion.
@AmitSharma-bl1ur5 жыл бұрын
@@IAmTimCorey Thanks Sir for quick response can you tell , how can we develop cross platform app in .net core for linux
@andywalter74265 жыл бұрын
I am guessing the only cross platforms apps that can be created that would work in linux are console apps.
@IAmTimCorey5 жыл бұрын
Console apps are one way. The biggest way, though, is ASP.NET Core apps. Yes, they are web apps and that probably isn't what you are looking for, but the biggest complaint for years was that Windows hosting of websites was so much more expensive (because of licensing). Now that pain point is gone.
@David-id6jw5 жыл бұрын
You currently can't make a WPF app for Linux, but there are alternatives that are starting to be developed, now that the WPF code is open source. While I haven't actually succeeded yet, I've been poking at Avalonia as a possibility, and I'm pretty sure there are one or two others that are in the fledgling stage of development.
@user-id8je6wi2l5 жыл бұрын
How about run on windows XP?
@IAmTimCorey5 жыл бұрын
I believe .NET Core only supports back to Windows 7.
@sambhavsharma96614 жыл бұрын
Can you please let me know that If i talk about the migration then please let me know what are the .net application i can start migrate from .net framework to .net core version 1 and 2 and 3. .net core 1 Which .net app use to migrate .net core 2 which .net app use to migrate .net core 3 which .net app use to migrate And also let me know that what are the languages which i can migrate from .net frmawork to .net core 1 and 2 and 3. Kindly give me answer. Thanks in Advanced.
@IAmTimCorey4 жыл бұрын
Always migrate to the latest version of .NET Core unless you have a specific reason not to.
@RealKeithernet5 жыл бұрын
I would love to see how to have a WPF app support .NET Framework and .NET Core in the same solution.
@IAmTimCorey5 жыл бұрын
I will add it to the list. Thanks for the suggestion.
@David-id6jw5 жыл бұрын
While it's easily doable, it's not necessarily the most desirable option. Personally, at least, the main motivation to convert to .NET Core 3 for a WPF app was being able to advance to C# 8. .NET Framework will be limited to C# 7.3, since C# 8 is being developed alongside .NET Standard 2.1 which will never be ported to the Framework. As noted in the video, there aren't any new features being added after 4.8. Anyway, that has led me to making use of the new C# 8 features (primarily nullable references, but a lot of span stuff as well, for speed and memory) which is just incompatible with the Framework version of the same app. This has made keeping them in sync require quite a bit more effort. It would be easy to keep them in sync if they were both limited to C# 7.3, but at that point, why bother writing the Core 3 version? You're not gaining anything, and you're still limited to the same deployment platform. You can of course create one project for the Framework project, and another for the Core 3 project, and have them both make use of a common .NET Standard library for the business logic, but you run into the same problem. The Core 3 WPF app can use the .NET Standard 2.0 library, but the entire point of moving up to Core 3 is to be able to use .NET Standard 2.1, which is incompatible with .NET Framework. The two versions are close enough that it would be very easy to keep in the same project, but there are just enough differences that there will be some awkwardness in keeping them in sync (vs just creating shortcuts from one project to the other, so they use the same files).
@andywalter74265 жыл бұрын
There is one more thing that was not mentioned that needs to be considered when deciding on deploying. There is one major drawback of making all as one exe. Suppose somebody has a game package that has around 120 games. If they are all in one folder and every one is one exe alone, then there would be lots of duplicates and the sizes for each one would be much larger than normal. If somebody is creating several apps to deploy to one folder and the person does not have core, then you need all those files. So for each additional app, you only need one extra exe and maybe an extra dll or two if having a cross platform version of a dll.
@IAmTimCorey5 жыл бұрын
Yes, there are drawbacks to deploying the framework in a bundle. This wouldn't be something I do with multiple applications, although I also don't think I would deploy several applications into one folder to share the .NET Core files. That would cause major problems with versioning. Each application would need to use the same version of every shared package. For example, if they used different versions of Dapper, that would cause a conflict and break applications. If you are deploying an application with .NET Core, you need to do it independently of other applications that also do so.
@andywalter74265 жыл бұрын
What is your opinion on the best way to handle if a game package for example is being built that has over 100 games. They are tested one by one. Currently, on the computer that does not have visual studio, they go into one folder. For that case, they would obviously use the same version of the dapper for example.
@leoingson4 жыл бұрын
Winform designer for .NET Core is still not up, right?
@IAmTimCorey4 жыл бұрын
Not for production but there is a beta version that has been released.
@leoingson4 жыл бұрын
@@IAmTimCorey Thx. Is it usable, or just an anoying bugfest?
@IAmTimCorey4 жыл бұрын
Still pretty buggy but it is making progress.
@ishratmunir30575 жыл бұрын
So these applications will cross platform?
@IAmTimCorey5 жыл бұрын
No. I talk about that in the video. .NET Core desktop apps still depend on Windows (the W in WPF stands for Windows after all), but they are powered by .NET Core, which is much faster and has the modern features and active development going forward.
@Spirittism3 жыл бұрын
I love ado.net on .net framework, is it possible on Core?
@IAmTimCorey3 жыл бұрын
Sure. That's what Dapper uses under the hood.
@Spirittism3 жыл бұрын
@@IAmTimCorey is it possible to have the mapping done through a wizard like .net framework?
@mohamaddjelouah9332 Жыл бұрын
they ended support for trim in .net7 i tried the supresspublisherror but the app doesn't start
I will add it to the list. Thanks for the suggestion.
@martinrj304 жыл бұрын
Link to the winforms designer mentioned at 3:26 aka.ms/winforms-designer
@IAmTimCorey4 жыл бұрын
Thanks!
@_slier4 жыл бұрын
can it run on linux?
@IAmTimCorey4 жыл бұрын
No, only Console apps and ASP.NET Core apps can run on Linux.
@zehsofficial2 жыл бұрын
How do I do this with .NET 5.0?
@IAmTimCorey2 жыл бұрын
Pretty much the same way.
@zehsofficial2 жыл бұрын
@@IAmTimCorey They changed it for local file publish in .NET 5.0 there's no GUI for changing the publish settings like deployment mode to self-contained. You now have to edit a text file. I found out how to do it on a stack overflow page
@MauricioCaterino4 жыл бұрын
It's seems @UnoPlatform could be the answer.
@IAmTimCorey4 жыл бұрын
It may be.
@stevethompson56125 жыл бұрын
I WOULD SUGGDST
@IAmTimCorey5 жыл бұрын
What would you suggest?
@chezchezchezchez4 жыл бұрын
@@IAmTimCorey lol
@vmarinpietri2 жыл бұрын
not work for .net 5.0
@IAmTimCorey2 жыл бұрын
Yes, it will work for .NET 5+ as well.
@theman32824 жыл бұрын
caliburn micro is confusing magic stick...
@IAmTimCorey4 жыл бұрын
I have a whole playlist to help you learn Caliburn Micro (and WPF in general). I definitely don't want you to use it if it is magic. Since it just makes the MVVM pattern easier, really the issue is first learning MVVM and then learning how CM can make your life simpler.
@theman32824 жыл бұрын
@@IAmTimCorey hey that's is great...will look to that playlist..thanks Tim!!.