Windows Forms Application to ARM64 (IOT) - c#

Is there a way to convert the project to UWP or should I use another approach? I need to deploy a Windows Forms Application written in C# with VS to Windows 10 IOT on a Raspberry Pi 3b. I've seen mention of a converter, but it seems it is used to publish the app to the Windows Store.

You will need to rewrite the app as a UWP app. The converter you mention (the desktop bridge) will allow packaging your Windows Forms app to store deploy to desktop systems but not for IoT.
Windows 10 IoT does not include the UI stack that a WinForms app depends on. This is documented in the Windows 10 IoT Core documentation (emphasis added for your scenario)
No legacy Win32 UI support: IoT Core does not contain APIs to create classic (HWND) Windows. Legacy methods such as CreateWindow() and CreateWindowEx() or any other methods that deal with Windows handles (HWNDs) are not available. Subsequently, frameworks that depend on such APIs including MFC, Windows Forms and WPF, are not supported on IoT Core
If your UI and underlying logic are separate then you may be able to keep all or most of the logic layer (UWP supports .Net Standard 2.0) and just rewrite the UI using UWP's Xaml stack.

Related

Can I connect to bluetooth devices using UWP apis without packaging app?

I would like to use nice UWP bluetooth classic APIs in my app. However my app has to be used as .exe, and it has to be portable (no installation in system). Is this possible?
The API used by UWP comes from the Windows Runtime Api, if you need to integrate Windows Runtime API in your desktop application, this is feasible.
Here is the document: Call Windows Runtime APIs in desktop apps.
But there are still some restrictions:
Due to the reference to the corresponding version of the SDK, your application can only run on the corresponding version (and above) of the Windows 10 system. May not work properly on lower version systems.
According to the description of this document, the Bluetooth API in Runtime is not yet fully supported in desktop applications.
In the description, you mentioned that you want to use portable application. Although many application functions can only be used in applications with a package identity, Windows.Device.Bluetooth is not listed here.
If the class under the Windows.Device.Bluetooth namespace has the Windows.Foundation.Metadata.DualApiPartition attribute, it means that the class can also be used directly in desktop applications, you can view related APIs in the Windows.Device.Bluetooth document.

Making client apps for my .net core web app

I have made a .net core 2.2 app and it works great, I can browse to it through my browser and all of the stuff I made works. I am wondering if it is possible to make an app for my phone though instead of getting to my server through the browser. I mainly want to do this so that I have a better phone side layout. Is this possible and if so could you point me to a good starting point to figure out how to make something like this?
You could have a look at Xamarin perhaps?
Xamarin is a free open-source framework to build truely native cross-platform mobile apps using C# .NET for iOS, Android or Windows. It runs on Mono and .NET to build apps with native performance and native UI.
Xamarin allows you to develop native apps using C# language and platform specfic tools/SDKs and share the same code across multiple platforms - iOS, Android or Windows.
https://visualstudio.microsoft.com/xamarin/

Is it possible totransform my windows iot app into a dll?

I am new to windows iot core, Actually I am running it with a raspberry Pi3
What I want to do is to create a .dll from an app based on windows iot core and integrate it in an other solution (WPF plateform) and whenever I call the .dll methods I get datas from my solution to my raspberry pi and vice versa
Actually I am confused about it there's not enough documentation about this and I don't know if this is possible or not if yes I would be very thankfull if you provide me some links
I assume your WPF application running on Windows 10 device.
To use UWP API in WPF application you need Package your WPF applications (Desktop Bridge).
When you create a package for your desktop application, your
application will get an identity and with that identity, your desktop
application has access to Windows Universal Platform (UWP) APIs.
Package a desktop application by using Visual Studio
Using a UWP C++ dll in Win32 C# WPF application
If your WPF application running on lower version than Windows 10 you can't use above solution.
In this case you need implement network send and receive logic respectively for WPF and UWP. Establish, for example, socket connection between them.

Silverlight project in Windows universal app (Runtime)

I am creating universal app, but I want to use parts of older app, wroten in Silverlight 8.1. Is there option how to make cooperate these four projects:
MyProject.Windows (Windows 8.1)
MyProject.WindowsPhone 8.1 (Windows Phone 8.1)
MyProject.Shared
MyProject.OldSilverlightCodes(Windows Phone Silverlight 8.1)
I want to avoid migrating Silverlight code to Runtime line-by-line, it is just too complex to my skills. Is possible connect them any way, maybe via some converter class?
No, you cannot include a Silverlight project in a Windows Runtime project, and there aren't any automated converters.
In general, the best way to share .Net code across multiple targets is to use a Portable Class Library. Depending on what code you have in the Silverlight project it may be straightforward to extract the shared code to a PCL and then use the same PCL in both projects.
--Rob

can a C# windows application be run on a windows 8 based tablet well?

Recently I was asked to work on a project which was developed for an aviculture company.
The client asked if I can make the application which was being developed in C#, to work on a tablet.
So i want to know if i finish the application in c# normally Will I be able to:
1.Use the mono for android and compile the whole project with that and get an android app easily for being used in android devices?
2.Use the executable project on a Windows 8 tablet without any changes?
I would be grateful if any one could answer these two questions.
It depends which tablet you're talking about.
On a Windows RT (ARM based) tablet like Surface, only Metro apps are supported. There are a few desktop apps, but only Microsoft can make them. So if your app is a desktop app, it won't run on Surface RT.
On a tablet with the "real" Windows 8 (x86 based, e.g. Surface Pro), you can run the same apps as on a PC.

Categories