我有一个 dotnet-core GUI 应用程序,根据参数参数,它可能只显示 GUI 界面(使用 Avalonia 框架完成),或者如果它收到一些特殊参数,那么它应该在控制台模式下工作并登录到控制台而不显示图形用户界面。如果我使用<OutputType>WinExe</OutputType>,则 GUI 显示正常,但应用程序永远不会登录到控制台(例如使用 时Console.WriteLine("some-text"))。这意味着我需要配置 csproj 以便<OutputType>Exe</OutputType>能够登录到控制台任何内容,问题是当在 GUI 模式下运行时,与 GUI 应用程序窗口一起,会弹出另一个我想隐藏以显示的控制台窗口只有图形用户界面。
在 dotnet full-framework 4.XI 中,我能够创建在 1 个 exe 中执行此双控制台/GUI 模式的 WPF 应用程序。一个可能的解决方案是,如果我可以在 GUI 模式下运行时隐藏控制台窗口,或者 Avalonia-UI/dotnet-core 有其他方法可以做到这一点。有谁知道如何做到这一点?
更新:以下是一些说明:该应用程序有 2 种模式:
<OutputType>WinExe</OutputType>,但这会使该Console.Write函数在以下环境中运行时不起作用Console Mode。app.exe -h显示可用命令、app.exe -v显示版本这意味着无法显示一些手工制作的 GUI 窗口来显示输出文本或将日志记录到文件中等其他位置。它可以在 2 个单独的可执行文件中完成,但像我这样的一些人发现只是一个简单的 app.exe 文件的应用程序有一些美妙之处。这种双重行为的示例有很多,例如VisualStudiodevenv.exe或 …
我正在运行 Android 模拟器(模拟器版本 30.5.5.0)和 avd:Pixel_3a_API_30_x86来自 AndroidStudio。使用adb.exe(Android 调试桥),我尝试将文件从 Windows 主机复制到模拟的 Android文件夹,但在尝试了本教程/system/...等不同操作后,我无法做到这一点:
-writable-system:cd C:\Users\%username%\AppData\Local\Android\Sdk\emulator
emulator -avd Pixel_3a_API_30_x86 -writable-system
Run Code Online (Sandbox Code Playgroud)
然后在模拟器运行时从另一个命令行窗口:
cd C:\Users\%username%\AppData\Local\Android\Sdk\platform-tools
adb root
adb shell "mount -o rw,remount /"
'/dev/block/dm-0' is read-only
adb push MyFile.txt /system/etc/security/cacerts
Run Code Online (Sandbox Code Playgroud)
然后我收到错误:错误:
MyFile.txt: 1 file pushed, 0 skipped. 0.1 MB/s (950 bytes in 0.011s)
adb: error: failed to copy 'MyFile.txt' to '/system/etc/security/cacerts/MyFile.txt': remote couldn't create file: Read-only file system
Run Code Online (Sandbox Code Playgroud)
如何将文件从 Windows 复制到 Android /system?