Merge branch 'v3.x' of https://github.com/BeyondDimension/SteamTools into v3.x
@@ -1,13 +0,0 @@
|
||||
#if IOS || MACOS || MACCATALYST
|
||||
|
||||
namespace BD.WTTS;
|
||||
|
||||
[Register("AppDelegate")]
|
||||
public sealed class AppDelegate : UIApplicationDelegate
|
||||
{
|
||||
public sealed override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 271 B After Width: | Height: | Size: 628 B |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 459 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 788 B After Width: | Height: | Size: 2.2 KiB |
@@ -2,12 +2,9 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyName>Steam++</AssemblyName>
|
||||
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>BD.WTTS</RootNamespace>
|
||||
<DefineConstants>AVALONIA;$(DefineConstants)</DefineConstants>
|
||||
<RuntimeIdentifier Condition="$([MSBuild]::IsOSPlatform('windows'))">win-x64</RuntimeIdentifier>
|
||||
<SelfContained>false</SelfContained>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('net3')) OR $(TargetFramework.StartsWith('net4')) OR $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">
|
||||
@@ -18,6 +15,10 @@
|
||||
<OutputType>WinExe</OutputType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'macos'">
|
||||
<RuntimeIdentifiers>osx-x64;osx-arm64</RuntimeIdentifiers>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<AllowedReferenceRelatedFileExtensions>
|
||||
<!-- Prevent default XML and PDB files copied to output in RELEASE.
|
||||
@@ -101,8 +102,8 @@
|
||||
<!--<PackageReference Include="LiveChartsCore.SkiaSharpView.Avalonia" />-->
|
||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" />
|
||||
<ProjectReference Include="..\Avalonia.Themes.Default\Avalonia.Themes.Default.csproj" />
|
||||
<ProjectReference Include="..\Avalonia.Themes.Fluent\Avalonia.Themes.Fluent.csproj" />
|
||||
<!--ProjectReference Include="..\Avalonia.Themes.Default\Avalonia.Themes.Default.csproj" />
|
||||
<ProjectReference Include="..\Avalonia.Themes.Fluent\Avalonia.Themes.Fluent.csproj" />-->
|
||||
<ProjectReference Include="..\Avalonia.Desktop\Avalonia.Desktop.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -135,15 +136,6 @@
|
||||
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="UI\Views\Pages\Accelerator\" />
|
||||
<Folder Include="UI\Views\Pages\AccountSwitch\" />
|
||||
<Folder Include="UI\Views\Pages\Library\" />
|
||||
<Folder Include="UI\Views\Pages\Authenticator\" />
|
||||
<Folder Include="UI\Views\Pages\ArchiSteamFarm\" />
|
||||
<Folder Include="UI\Views\Pages\GameTools\" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\TFM_NET7_WITH_DESKTOP.props" />
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -24,5 +24,7 @@
|
||||
<string>© 长沙次元超越科技有限公司. All Rights Reserved.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>XSAppIconAssets</key>
|
||||
<string>Assets.xcassets/AppIcon.appiconset</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -33,7 +33,7 @@ static partial class Program
|
||||
if (!DesktopBridgeHelper.Init()) return 0;
|
||||
InitWithDesktopBridge(ref args);
|
||||
#elif IOS || MACOS || MACCATALYST
|
||||
UIApplication.Main(args, null, typeof(AppDelegate));
|
||||
NSApplication.Init();
|
||||
#endif
|
||||
|
||||
var host = Host.Instance;
|
||||
@@ -71,6 +71,7 @@ static partial class Program
|
||||
}
|
||||
}
|
||||
|
||||
#if WINDOWS
|
||||
public static bool IsCustomEntryPoint { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -88,6 +89,7 @@ static partial class Program
|
||||
AppContext.SetData("APP_CONTEXT_BASE_DIRECTORY", Environment.CurrentDirectory);
|
||||
return Main(Environment.GetCommandLineArgs().Skip(1).ToArray());
|
||||
}
|
||||
#endif
|
||||
|
||||
#if WINDOWS_DESKTOP_BRIDGE
|
||||
static void InitWithDesktopBridge(ref string[] args)
|
||||
@@ -123,9 +125,6 @@ static partial class Program
|
||||
builder.With(new AvaloniaNativePlatformOptions
|
||||
{
|
||||
UseGpu = useGpu,
|
||||
EnableMultiTouch = true,
|
||||
UseDBusMenu = true,
|
||||
EnableIme = true
|
||||
});
|
||||
#elif LINUX
|
||||
builder.With(new X11PlatformOptions
|
||||
@@ -133,7 +132,7 @@ static partial class Program
|
||||
UseGpu = useGpu,
|
||||
EnableMultiTouch = true,
|
||||
UseDBusMenu = true,
|
||||
EnableIme = true
|
||||
EnableIme = true,
|
||||
});
|
||||
#elif WINDOWS
|
||||
var useWgl = IApplication.UseWgl || GeneralSettings.UseWgl.Value;
|
||||
|
||||
@@ -14,11 +14,16 @@ static partial class Program
|
||||
if (isOnCreateAppExecuting) return;
|
||||
isOnCreateAppExecuting = true;
|
||||
|
||||
#if WINDOWS
|
||||
//#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
#if DEBUG
|
||||
// 调试时移动本机库到 native,通常指定了单个 RID(RuntimeIdentifier) 后本机库将位于程序根目录上否则将位于 runtimes 文件夹中
|
||||
GlobalDllImportResolver.MoveFiles();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if WINDOWS
|
||||
//#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
// 监听当前应用程序域的程序集加载
|
||||
AppDomain.CurrentDomain.AssemblyLoad += (_, args)
|
||||
=> CurrentDomain_AssemblyLoad(args.LoadedAssembly);
|
||||
@@ -45,6 +50,7 @@ static partial class Program
|
||||
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
|
||||
foreach (var assembly in assemblies)
|
||||
CurrentDomain_AssemblyLoad(assembly);
|
||||
#endif
|
||||
|
||||
AppDomain.CurrentDomain.AssemblyResolve += (_, args) =>
|
||||
{
|
||||
@@ -161,7 +167,10 @@ static partial class Program
|
||||
|
||||
#if DEBUG
|
||||
Console.WriteLine($"CurrentUICulture: {CultureInfo.CurrentUICulture}");
|
||||
#if WINDOWS
|
||||
//#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
Console.WriteLine($"RID: {GlobalDllImportResolver.RID}");
|
||||
#endif
|
||||
Console.WriteLine($"DefaultFontFamilyName: {SkiaSharp.SKTypeface.Default.FamilyName}");
|
||||
Console.WriteLine($"DefaultFontFamilyName2: {IPlatformService.Instance.GetDefaultFontFamily()}");
|
||||
Console.WriteLine("FontFamilies: ");
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Any CPU</Platform>
|
||||
<PublishDir>bin\Release\Publish\linux-x64\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<SelfContained>false</SelfContained>
|
||||
<PublishSingleFile>false</PublishSingleFile>
|
||||
<PublishReadyToRun>false</PublishReadyToRun>
|
||||
<PublishTrimmed>false</PublishTrimmed>
|
||||
<UseAppHost>true</UseAppHost>
|
||||
<PublishDocumentationFile>false</PublishDocumentationFile>
|
||||
<PublishDocumentationFiles>false</PublishDocumentationFiles>
|
||||
<PublishReferencesDocumentationFiles>false</PublishReferencesDocumentationFiles>
|
||||
<StripSymbols>true</StripSymbols>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Any CPU</Platform>
|
||||
<PublishDir>bin\Release\Publish\linux-x64\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<SelfContained>true</SelfContained>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<PublishReadyToRun>false</PublishReadyToRun>
|
||||
<PublishTrimmed>false</PublishTrimmed>
|
||||
<UseAppHost>true</UseAppHost>
|
||||
<PublishDocumentationFile>false</PublishDocumentationFile>
|
||||
<PublishDocumentationFiles>false</PublishDocumentationFiles>
|
||||
<PublishReferencesDocumentationFiles>false</PublishReferencesDocumentationFiles>
|
||||
<StripSymbols>true</StripSymbols>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,22 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Any CPU</Platform>
|
||||
<PublishDir>bin\Release\Publish\win-arm64\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
|
||||
<SelfContained>false</SelfContained>
|
||||
<PublishSingleFile>false</PublishSingleFile>
|
||||
<PublishReadyToRun>false</PublishReadyToRun>
|
||||
<UseAppHost>true</UseAppHost>
|
||||
<PublishDocumentationFile>false</PublishDocumentationFile>
|
||||
<PublishDocumentationFiles>false</PublishDocumentationFiles>
|
||||
<PublishReferencesDocumentationFiles>false</PublishReferencesDocumentationFiles>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Any CPU</Platform>
|
||||
<PublishDir>bin\Release\Publish\win-arm64\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
|
||||
<SelfContained>false</SelfContained>
|
||||
<PublishSingleFile>false</PublishSingleFile>
|
||||
<PublishReadyToRun>false</PublishReadyToRun>
|
||||
<UseAppHost>false</UseAppHost>
|
||||
<PublishDocumentationFile>false</PublishDocumentationFile>
|
||||
<PublishDocumentationFiles>false</PublishDocumentationFiles>
|
||||
<PublishReferencesDocumentationFiles>false</PublishReferencesDocumentationFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -3,21 +3,21 @@
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Any CPU</Platform>
|
||||
<PublishDir>bin\Release\Publish\win-x64\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<SelfContained>false</SelfContained>
|
||||
<PublishSingleFile>false</PublishSingleFile>
|
||||
<PublishReadyToRun>false</PublishReadyToRun>
|
||||
<PublishTrimmed>false</PublishTrimmed>
|
||||
<UseAppHost>false</UseAppHost>
|
||||
<PublishDocumentationFile>false</PublishDocumentationFile>
|
||||
<PublishDocumentationFiles>false</PublishDocumentationFiles>
|
||||
<PublishReferencesDocumentationFiles>false</PublishReferencesDocumentationFiles>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Any CPU</Platform>
|
||||
<PublishDir>bin\Release\Publish\win-x64\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<SelfContained>false</SelfContained>
|
||||
<PublishSingleFile>false</PublishSingleFile>
|
||||
<PublishReadyToRun>false</PublishReadyToRun>
|
||||
<PublishTrimmed>false</PublishTrimmed>
|
||||
<UseAppHost>false</UseAppHost>
|
||||
<PublishDocumentationFile>false</PublishDocumentationFile>
|
||||
<PublishDocumentationFiles>false</PublishDocumentationFiles>
|
||||
<PublishReferencesDocumentationFiles>false</PublishReferencesDocumentationFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6214" systemVersion="14A314h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6207" />
|
||||
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1" />
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" />
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder" />
|
||||
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="480" />
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" />
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2017 " textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines"
|
||||
minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
|
||||
<rect key="frame" x="20" y="439" width="441" height="21" />
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17" />
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor" />
|
||||
<nil key="highlightedColor" />
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="NewApp" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines"
|
||||
minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
|
||||
<rect key="frame" x="20" y="140" width="441" height="43" />
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="36" />
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor" />
|
||||
<nil key="highlightedColor" />
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite" />
|
||||
<constraints>
|
||||
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC" />
|
||||
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk" />
|
||||
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l" />
|
||||
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0" />
|
||||
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9" />
|
||||
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g" />
|
||||
</constraints>
|
||||
<nil key="simulatedStatusBarMetrics" />
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics" />
|
||||
<point key="canvasLocation" x="548" y="455" />
|
||||
</view>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
#if IOS || MACOS || MACCATALYST
|
||||
|
||||
namespace BD.WTTS;
|
||||
|
||||
[Register("SceneDelegate")]
|
||||
public sealed class SceneDelegate : UIResponder, IUIWindowSceneDelegate
|
||||
{
|
||||
|
||||
[Export("window")]
|
||||
public UIWindow? Window { get; set; }
|
||||
|
||||
[Export("scene:willConnectToSession:options:")]
|
||||
public void WillConnect(UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions)
|
||||
{
|
||||
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
|
||||
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
|
||||
// This delegate does not imply the connecting scene or session are new (see UIApplicationDelegate `GetConfiguration` instead).
|
||||
}
|
||||
|
||||
[Export("sceneDidDisconnect:")]
|
||||
public void DidDisconnect(UIScene scene)
|
||||
{
|
||||
// Called as the scene is being released by the system.
|
||||
// This occurs shortly after the scene enters the background, or when its session is discarded.
|
||||
// Release any resources associated with this scene that can be re-created the next time the scene connects.
|
||||
// The scene may re-connect later, as its session was not neccessarily discarded (see UIApplicationDelegate `DidDiscardSceneSessions` instead).
|
||||
}
|
||||
|
||||
[Export("sceneDidBecomeActive:")]
|
||||
public void DidBecomeActive(UIScene scene)
|
||||
{
|
||||
// Called when the scene has moved from an inactive state to an active state.
|
||||
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
|
||||
}
|
||||
|
||||
[Export("sceneWillResignActive:")]
|
||||
public void WillResignActive(UIScene scene)
|
||||
{
|
||||
// Called when the scene will move from an active state to an inactive state.
|
||||
// This may occur due to temporary interruptions (ex. an incoming phone call).
|
||||
}
|
||||
|
||||
[Export("sceneWillEnterForeground:")]
|
||||
public void WillEnterForeground(UIScene scene)
|
||||
{
|
||||
// Called as the scene transitions from the background to the foreground.
|
||||
// Use this method to undo the changes made on entering the background.
|
||||
}
|
||||
|
||||
[Export("sceneDidEnterBackground:")]
|
||||
public void DidEnterBackground(UIScene scene)
|
||||
{
|
||||
// Called as the scene transitions from the foreground to the background.
|
||||
// Use this method to save data, release shared resources, and store enough scene-specific state information
|
||||
// to restore the scene back to its current state.
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
#if WINDOWS
|
||||
//#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BD.WTTS;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
#if WINDOWS
|
||||
//#if (WINDOWS || MACCATALYST || MACOS || LINUX) && !(IOS || ANDROID)
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BD.WTTS;
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||
- [.NET 分发打包](https://learn.microsoft.com/zh-cn/dotnet/core/distribution-packaging)
|
||||
- [环境变量 - 指定 .NET 运行时的位置](https://learn.microsoft.com/zh-cn/dotnet/core/tools/dotnet-environment-variables#dotnet_root-dotnet_rootx86)
|
||||
|
||||
### 程序目录结构
|
||||
### 程序目录结构(Windows)
|
||||
- dotnet 共享运行时,删除后将使用已安装的运行时,此目录参考 ```C:\Program Files\dotnet```,可自行升级运行库小版本号,二进制兼容
|
||||
- host
|
||||
- fxr
|
||||
@@ -153,8 +153,44 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||
- Steam++.Plugins.LocalAuth.dll
|
||||
- GameTools 游戏工具
|
||||
- Steam++.Plugins.GameTools.dll
|
||||
- Steam++.exe 主程序
|
||||
- Steam++.Uninstall.exe 卸载程序(WinForms?AOT?)
|
||||
- Steam++.exe .NET Framework 二进制主程序
|
||||
- Steam++.exe.config 使用该配置文件以允许在 .NET Framework 3.5 ~ 4.8.1 中任意版本中兼容运行(从 Windows 7 ~ 11 中所有系统自带运行时)
|
||||
- Steam++.Uninstall.exe 卸载程序(WinForms?AOT?)
|
||||
|
||||
### 程序目录结构(Linux)
|
||||
- Steam++ 本机二进制主程序
|
||||
- libe_sqlite3.so
|
||||
- libHarfBuzzSharp.so
|
||||
- libSkiaSharp.so
|
||||
- native
|
||||
- linux-x64
|
||||
- TODO?
|
||||
- modules 可选模块
|
||||
- TODO
|
||||
```
|
||||
改成 Windows 的目录结构,但在 AOT 的 AppHost 中无法加载已使用框架依赖发布的程序集,错误 Initialization for self-contained components is not supported
|
||||
参考
|
||||
https://github.com/dotnet/runtime/issues/35329
|
||||
https://github.com/dotnet/runtime/search?l=C%2B%2B&q=get_is_framework_dependent
|
||||
https://github.com/dotnet/runtime/blob/6702dc5c7814e624a42ab4615224920a5635beeb/src/native/corehost/runtime_config.cpp
|
||||
https://github.com/dotnet/runtime/blob/main/docs/design/features/host-error-codes.md
|
||||
https://github.com/dotnet/samples/blob/91355ef22a10ec614a2e8daefd68785066860d57/core/hosting/src/NativeHost/nativehost.cpp
|
||||
```
|
||||
|
||||
### 程序目录结构(macOS)
|
||||
- Steam++.app
|
||||
- Contents
|
||||
- Info.plist
|
||||
- MacOS
|
||||
- Steam++ 本机二进制主程序
|
||||
- MonoBundle
|
||||
- Steam++.Accelerator.X64 网络加速控制台子服务进程二进制程序
|
||||
- Steam++.Accelerator.Arm64
|
||||
- PkgInfo
|
||||
- Resources
|
||||
|
||||
对子服务进程二进制程序的 RID 使用 ```RuntimeInformation.ProcessArchitecture.ToString()```
|
||||
通过 ```PublishFolderType="Assembly"``` 指定 Copy 到 MonoBundle 中,没有其他选项能够将其放在 MacOS 文件夹中
|
||||
|
||||
### 应用分发(安装包程序方案)
|
||||
- Steam 软件商店
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net7.0</TargetFrameworks>
|
||||
<!--<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.0-maccatalyst;net7.0-windows10.0.19041.0</TargetFrameworks>-->
|
||||
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.0-macos;net7.0-windows10.0.19041.0</TargetFrameworks>
|
||||
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.0-windows10.0.19041.0</TargetFrameworks>
|
||||
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('osx'))">$(TargetFrameworks);net7.0-macos</TargetFrameworks>
|
||||
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('linux'))">$(TargetFrameworks)</TargetFrameworks>
|
||||
|
||||