Портирование приложения winform для запуска на Raspberry PI
У меня есть приложение aC# winform, которое я хочу портировать для запуска на моем новом Raspberry PI 3. Я нахожусь в режиме стона, потому что я думал, что мое приложение просто запустится. Это совсем не так. В моем приложении winform используется кварта.NET, библиотека aforge и общие библиотеки.net, такие как system.configuration
, Я думал, что начну с моего класса регистрации, поскольку кто-то упомянул, что код, не относящийся к пользовательскому интерфейсу, должен быть легко конвертируемым, если что-то нужно будет изменить вообще. Похоже, мне придется изобретать велосипед. Чтобы быть точным для начала, взгляните на функцию ниже. Любой код, который использует system.configuration
не будет работать. Есть ли более простой способ заставить мое приложение работать или мне нужно буквально конвертировать почти весь мой код. Будет ли библиотека aforge работать на PI? Quart.net будет работать? Сейчас я чувствую, что хочу сдаться и купить маленький компьютер с Windows, на котором установлены "правильные" окна.
C# Winform Code
class Logging
{
public void Write_To_Log_File(String Message, String Procedure, String Error_Code, String Error_String)
{
try
{
// If the log file is bigger than allowed size then archive
if (File.Exists(@ConfigurationManager.AppSettings["LogSavePath"]))
{
FileInfo file = new FileInfo(@ConfigurationManager.AppSettings["LogSavePath"]);
if (file.Length > Convert.ToInt32(ConfigurationManager.AppSettings["FileLogSizeLimit"]))
{
// Rename the file
File.Move(@ConfigurationManager.AppSettings["LogSavePath"], @ConfigurationManager.AppSettings["LogSavePath"] + string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now) + ".csv");
}
}
// If log file does not exist then create it and add the headers
if (File.Exists(@ConfigurationManager.AppSettings["LogSavePath"]))
{
}
else
{
// Create the file
System.IO.File.Create("LogSavePath");
// Add data
string[] Headers = { "Time" + "," + "_Message" + "," + "Procedure" + "," + "Error_Code" + "," + "Error_String" };
System.IO.File.AppendAllLines(@ConfigurationManager.AppSettings["LogSavePath"], Headers);
}
if (File.Exists(@ConfigurationManager.AppSettings["LogSavePath"]))
{
string[] Log = { DateTime.Now.ToString() + "," + Message + "," + Procedure + "," + Error_Code + "," + Error_String };
System.IO.File.AppendAllLines(@ConfigurationManager.AppSettings["LogSavePath"], Log);
}
}
catch
{
}
}
}
1 ответ
Для этой цели Microsoft запустила Windows 10 IoT Core Porting Tool. Это может помочь вам в переходе с приложений и библиотек Win32 на приложения Windows 10 IoT Core. Более подробная информация здесь: https://developer.microsoft.com/en-us/windows/iot/win10/tools/iotapiportingtool