feat: Updates to .NET 9 (#1984)
### Summary * Bumps to .NET 9 with updated dependencies * Comparing a value type against null is no longer allowed * CI/CD now uses the version specified in global.json * Serialization generator updated to .NET 9 with bug fixes, fixes to turkish language, and parallelization
This commit is contained in:
parent
51d15d264c
commit
c75514cc04
24 changed files with 56 additions and 58 deletions
|
|
@ -3,7 +3,7 @@
|
||||||
"isRoot": true,
|
"isRoot": true,
|
||||||
"tools": {
|
"tools": {
|
||||||
"modernuoschemagenerator": {
|
"modernuoschemagenerator": {
|
||||||
"version": "2.11.3",
|
"version": "2.12.10",
|
||||||
"commands": [
|
"commands": [
|
||||||
"ModernUOSchemaGenerator"
|
"ModernUOSchemaGenerator"
|
||||||
]
|
]
|
||||||
|
|
|
||||||
8
.github/workflows/build-test.yml
vendored
8
.github/workflows/build-test.yml
vendored
|
|
@ -23,10 +23,10 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
|
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
|
||||||
- name: Setup .NET 8
|
- name: Install .NET 9
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@v4
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.0.x
|
global-json-file: global.json
|
||||||
- name: Install Prerequisites
|
- name: Install Prerequisites
|
||||||
run: |
|
run: |
|
||||||
brew update
|
brew update
|
||||||
|
|
@ -86,10 +86,10 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
|
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
|
||||||
- name: Setup .NET 8
|
- name: Install .NET 9
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@v4
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.0.x
|
global-json-file: global.json
|
||||||
- name: Build
|
- name: Build
|
||||||
run: ./publish.cmd Release
|
run: ./publish.cmd Release
|
||||||
- name: Test
|
- name: Test
|
||||||
|
|
|
||||||
4
.github/workflows/create-release.yml
vendored
4
.github/workflows/create-release.yml
vendored
|
|
@ -14,10 +14,10 @@ jobs:
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
|
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
|
||||||
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||||
- name: Setup .NET 8
|
- name: Install .NET 9
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@v4
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.0.x
|
global-json-file: global.json
|
||||||
- name: Install NGBV
|
- name: Install NGBV
|
||||||
uses: dotnet/nbgv@master
|
uses: dotnet/nbgv@master
|
||||||
id: nbgv
|
id: nbgv
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<Authors>Kamron Batman</Authors>
|
<Authors>Kamron Batman</Authors>
|
||||||
<Company>ModernUO</Company>
|
<Company>ModernUO</Company>
|
||||||
<Copyright>2019-2023</Copyright>
|
<Copyright>2019-2023</Copyright>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
<LangVersion>12</LangVersion>
|
<LangVersion>12</LangVersion>
|
||||||
<PublicRelease>true</PublicRelease>
|
<PublicRelease>true</PublicRelease>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
|
@ -62,11 +62,11 @@
|
||||||
<AnalysisLevel>latest</AnalysisLevel>
|
<AnalysisLevel>latest</AnalysisLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Serilog" Version="4.0.2" />
|
<PackageReference Include="Serilog" Version="4.2.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.Async" Version="2.0.0" />
|
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
|
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
|
||||||
<PackageReference Include="Nerdbank.GitVersioning" Condition="!Exists('packages.config')">
|
<PackageReference Include="Nerdbank.GitVersioning" Condition="!Exists('packages.config')">
|
||||||
<Version>3.6.143</Version>
|
<Version>3.6.146</Version>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<AdditionalFiles Include="..\..\Rules.ruleset" />
|
<AdditionalFiles Include="..\..\Rules.ruleset" />
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<RootNamespace>Server.Tests</RootNamespace>
|
<RootNamespace>Server.Tests</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
||||||
<PackageReference Include="xunit" Version="2.9.2" />
|
<PackageReference Include="xunit" Version="2.9.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ public class ArtData : IDisposable
|
||||||
|
|
||||||
Span<ushort> buffer = stackalloc ushort[entry.Size / 2];
|
Span<ushort> buffer = stackalloc ushort[entry.Size / 2];
|
||||||
_dataStream.Seek(entry.Offset, SeekOrigin.Begin);
|
_dataStream.Seek(entry.Offset, SeekOrigin.Begin);
|
||||||
_dataStream.Read(MemoryMarshal.AsBytes(buffer));
|
_ = _dataStream.Read(MemoryMarshal.AsBytes(buffer));
|
||||||
|
|
||||||
var width = buffer[2];
|
var width = buffer[2];
|
||||||
var height = buffer[3];
|
var height = buffer[3];
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ public static class UOClient
|
||||||
{
|
{
|
||||||
using FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
|
using FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||||
var buffer = GC.AllocateUninitializedArray<byte>((int)fs.Length, true);
|
var buffer = GC.AllocateUninitializedArray<byte>((int)fs.Length, true);
|
||||||
fs.Read(buffer);
|
_ = fs.Read(buffer);
|
||||||
// VS_VERSION_INFO (unicode)
|
// VS_VERSION_INFO (unicode)
|
||||||
Span<byte> vsVersionInfo = stackalloc byte[]
|
Span<byte> vsVersionInfo = stackalloc byte[]
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3077,7 +3077,7 @@ public class Item : IHued, IComparable<Item>, ISpawnable, IObjectPropertyListEnt
|
||||||
|
|
||||||
public virtual void SendWorldPacketTo(NetState ns, ReadOnlySpan<byte> world = default)
|
public virtual void SendWorldPacketTo(NetState ns, ReadOnlySpan<byte> world = default)
|
||||||
{
|
{
|
||||||
if (world != null)
|
if (world != ReadOnlySpan<byte>.Empty)
|
||||||
{
|
{
|
||||||
ns?.Send(world);
|
ns?.Send(world);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ public static class Localization
|
||||||
{
|
{
|
||||||
using var fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read);
|
using var fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||||
Span<byte> header = stackalloc byte[6];
|
Span<byte> header = stackalloc byte[6];
|
||||||
fs.Read(header);
|
_ = fs.Read(header);
|
||||||
|
|
||||||
byte[] data;
|
byte[] data;
|
||||||
BufferReader br;
|
BufferReader br;
|
||||||
|
|
@ -120,7 +120,7 @@ public static class Localization
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
data = GC.AllocateUninitializedArray<byte>((int)fs.Length - 6);
|
data = GC.AllocateUninitializedArray<byte>((int)fs.Length - 6);
|
||||||
fs.Read(data);
|
_ = fs.Read(data);
|
||||||
br = new BufferReader(data);
|
br = new BufferReader(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -449,7 +449,7 @@ public partial class NetState : IComparable<NetState>, IValueLinkListNode<NetSta
|
||||||
|
|
||||||
public void Send(ReadOnlySpan<byte> span)
|
public void Send(ReadOnlySpan<byte> span)
|
||||||
{
|
{
|
||||||
if (span == null || this.CannotSendPackets())
|
if (span == ReadOnlySpan<byte>.Empty || this.CannotSendPackets())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ public readonly struct Serial : IComparable<Serial>, IComparable<uint>,
|
||||||
|
|
||||||
public bool TryFormat(
|
public bool TryFormat(
|
||||||
Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider provider
|
Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider provider
|
||||||
) => format != null
|
) => format != ReadOnlySpan<char>.Empty
|
||||||
? Value.TryFormat(destination, out charsWritten, format, provider)
|
? Value.TryFormat(destination, out charsWritten, format, provider)
|
||||||
: destination.TryWrite(provider, $"0x{Value:X8}", out charsWritten);
|
: destination.TryWrite(provider, $"0x{Value:X8}", out charsWritten);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,11 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.3.2" />
|
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.3.2" />
|
||||||
<PackageReference Include="LibDeflate.Bindings" Version="1.0.2.120" />
|
<PackageReference Include="LibDeflate.Bindings" Version="1.0.2.120" />
|
||||||
<PackageReference Include="PollGroup" Version="1.5.1" />
|
<PackageReference Include="PollGroup" Version="1.6.1" />
|
||||||
<PackageReference Include="System.IO.Hashing" Version="8.0.0" />
|
<PackageReference Include="System.IO.Hashing" Version="9.0.0" />
|
||||||
|
|
||||||
<PackageReference Include="ModernUO.Serialization.Annotations" Version="2.9.1" />
|
<PackageReference Include="ModernUO.Serialization.Annotations" Version="2.9.1" />
|
||||||
<PackageReference Include="ModernUO.Serialization.Generator" Version="2.11.3" />
|
<PackageReference Include="ModernUO.Serialization.Generator" Version="2.12.10" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AdditionalFiles Include="Migrations/*.v*.json" />
|
<AdditionalFiles Include="Migrations/*.v*.json" />
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public static class StringHelpers
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
size = 0;
|
size = 0;
|
||||||
if (a == null || a.Length == 0)
|
if (a == ReadOnlySpan<char>.Empty || a.Length == 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -72,7 +72,7 @@ public static class StringHelpers
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static string Remove(this ReadOnlySpan<char> a, ReadOnlySpan<char> b, StringComparison comparison)
|
public static string Remove(this ReadOnlySpan<char> a, ReadOnlySpan<char> b, StringComparison comparison)
|
||||||
{
|
{
|
||||||
if (a == null)
|
if (a == ReadOnlySpan<char>.Empty)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -338,7 +338,7 @@ public class TileMatrix
|
||||||
|
|
||||||
fixed (StaticTile* pTiles = staTiles)
|
fixed (StaticTile* pTiles = staTiles)
|
||||||
{
|
{
|
||||||
DataStream.Read(new Span<byte>(pTiles, length));
|
_ = DataStream.Read(new Span<byte>(pTiles, length));
|
||||||
|
|
||||||
if (m_Lists == null)
|
if (m_Lists == null)
|
||||||
{
|
{
|
||||||
|
|
@ -423,7 +423,7 @@ public class TileMatrix
|
||||||
|
|
||||||
fixed (LandTile* pTiles = tiles)
|
fixed (LandTile* pTiles = tiles)
|
||||||
{
|
{
|
||||||
MapStream.Read(new Span<byte>(pTiles, 192));
|
_ = MapStream.Read(new Span<byte>(pTiles, 192));
|
||||||
}
|
}
|
||||||
|
|
||||||
return tiles;
|
return tiles;
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ public class TileMatrixPatch
|
||||||
var tiles = new LandTile[64];
|
var tiles = new LandTile[64];
|
||||||
fixed (LandTile* pTiles = tiles)
|
fixed (LandTile* pTiles = tiles)
|
||||||
{
|
{
|
||||||
fsData.Read(new Span<byte>(pTiles, 192));
|
_ = fsData.Read(new Span<byte>(pTiles, 192));
|
||||||
}
|
}
|
||||||
|
|
||||||
matrix.SetLandBlock(x, y, tiles);
|
matrix.SetLandBlock(x, y, tiles);
|
||||||
|
|
@ -149,7 +149,7 @@ public class TileMatrixPatch
|
||||||
|
|
||||||
fixed (StaticTile* pTiles = staTiles)
|
fixed (StaticTile* pTiles = staTiles)
|
||||||
{
|
{
|
||||||
fsData.Read(new Span<byte>(pTiles, length));
|
_ = fsData.Read(new Span<byte>(pTiles, length));
|
||||||
|
|
||||||
StaticTile* pCur = pTiles, pEnd = pTiles + tileCount;
|
StaticTile* pCur = pTiles, pEnd = pTiles + tileCount;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ public static class HashUtility
|
||||||
|
|
||||||
public static uint ComputeHash32(ReadOnlySpan<char> str)
|
public static uint ComputeHash32(ReadOnlySpan<char> str)
|
||||||
{
|
{
|
||||||
if (str == null)
|
if (str == ReadOnlySpan<char>.Empty)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<Configurations>Debug;Release;Analyze</Configurations>
|
<Configurations>Debug;Release;Analyze</Configurations>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
||||||
<PackageReference Include="xunit" Version="2.9.2" />
|
<PackageReference Include="xunit" Version="2.9.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ namespace Server.Misc
|
||||||
|
|
||||||
var name = tokenizer.MoveNext() ? tokenizer.Current : null;
|
var name = tokenizer.MoveNext() ? tokenizer.Current : null;
|
||||||
var valueStr = tokenizer.MoveNext() ? tokenizer.Current : null;
|
var valueStr = tokenizer.MoveNext() ? tokenizer.Current : null;
|
||||||
if (valueStr == null)
|
if (valueStr == ReadOnlySpan<char>.Empty)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<PackageReference Include="LibDeflate.Bindings" Version="1.0.2.120" />
|
<PackageReference Include="LibDeflate.Bindings" Version="1.0.2.120" />
|
||||||
<PackageReference Include="MailKit" Version="4.8.0" />
|
<PackageReference Include="MailKit" Version="4.8.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="9.0.0" />
|
||||||
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.3.2" />
|
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.3.2" />
|
||||||
<PackageReference Include="Argon2.Bindings" Version="1.16.1" />
|
<PackageReference Include="Argon2.Bindings" Version="1.16.1" />
|
||||||
<PackageReference Include="ModernUO.CodeGeneratedEvents.Annotations" Version="1.0.0" />
|
<PackageReference Include="ModernUO.CodeGeneratedEvents.Annotations" Version="1.0.0" />
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
<PackageReference Include="Zstd.Binaries" Version="1.6.0" />
|
<PackageReference Include="Zstd.Binaries" Version="1.6.0" />
|
||||||
|
|
||||||
<PackageReference Include="ModernUO.Serialization.Annotations" Version="2.9.1" />
|
<PackageReference Include="ModernUO.Serialization.Annotations" Version="2.9.1" />
|
||||||
<PackageReference Include="ModernUO.Serialization.Generator" Version="2.11.3" />
|
<PackageReference Include="ModernUO.Serialization.Generator" Version="2.12.10" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AdditionalFiles Include="Migrations/*.v*.json" />
|
<AdditionalFiles Include="Migrations/*.v*.json" />
|
||||||
|
|
|
||||||
16
README.md
16
README.md
|
|
@ -21,8 +21,8 @@ ModernUO [](https://ubuntu.com/download/server)
|
[](https://ubuntu.com/download/server)
|
||||||
<br />
|
<br />
|
||||||
[](https://alpinelinux.org/downloads/)
|
[](https://alpinelinux.org/downloads/)
|
||||||
[](https://getfedora.org/en/server/download/)
|
[](https://getfedora.org/en/server/download/)
|
||||||
[](https://access.redhat.com/downloads)
|
[](https://access.redhat.com/downloads)
|
||||||
[](https://www.centos.org/download/)
|
[](https://www.centos.org/download/)
|
||||||
[](https://get.opensuse.org/)
|
[](https://get.opensuse.org/)
|
||||||
[](https://www.suse.com/download/sles/)
|
[](https://www.suse.com/download/sles/)
|
||||||
|
|
@ -31,25 +31,25 @@ ModernUO [](https://dotnet.microsoft.com/download/dotnet/8.0)
|
[](https://dotnet.microsoft.com/download/dotnet/9.0)
|
||||||
|
|
||||||
##### Windows
|
##### Windows
|
||||||
[](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022)
|
[](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022)
|
||||||
|
|
||||||
#### Development
|
#### Development
|
||||||
[](https://git-scm.com/downloads)
|
[](https://git-scm.com/downloads)
|
||||||
[](https://dotnet.microsoft.com/download/dotnet/8.0)
|
[](https://dotnet.microsoft.com/download/dotnet/9.0)
|
||||||
|
|
||||||
#### Supported IDEs
|
#### Supported IDEs
|
||||||
|
|
||||||
<p align="left"><a href="https://www.jetbrains.com/rider/download"><img height="64" title="Jetbrains Rider 2024.1+"
|
<p align="left"><a href="https://www.jetbrains.com/rider/download"><img height="64" title="Jetbrains Rider 2024.3+"
|
||||||
alt="Jetbrains Rider 2024.1+"
|
alt="Jetbrains Rider 2024.3+"
|
||||||
src="https://user-images.githubusercontent.com/3953314/133473479-734e425c-fbb6-433a-af2d-2cc8444398e8.png"></a><img
|
src="https://user-images.githubusercontent.com/3953314/133473479-734e425c-fbb6-433a-af2d-2cc8444398e8.png"></a><img
|
||||||
alt="space" width="32" src="https://user-images.githubusercontent.com/3953314/200151935-3c1521ec-16cb-487b-85a2-7454d347c585.png"><a href="https://code.visualstudio.com/download"><img height="64" title="VSCode"
|
alt="space" width="32" src="https://user-images.githubusercontent.com/3953314/200151935-3c1521ec-16cb-487b-85a2-7454d347c585.png"><a href="https://code.visualstudio.com/download"><img height="64" title="VSCode"
|
||||||
alt="VSCode"
|
alt="VSCode"
|
||||||
src="https://user-images.githubusercontent.com/3953314/200161017-7697171f-8f13-4829-95d0-8a25b59ee4c9.png"></a><img alt="space" width="32"
|
src="https://user-images.githubusercontent.com/3953314/200161017-7697171f-8f13-4829-95d0-8a25b59ee4c9.png"></a><img alt="space" width="32"
|
||||||
src="https://user-images.githubusercontent.com/3953314/200151935-3c1521ec-16cb-487b-85a2-7454d347c585.png"><a href="https://visualstudio.microsoft.com/vs/community/"><img height="64" title="Visual Studio 2022 v17.10+"
|
src="https://user-images.githubusercontent.com/3953314/200151935-3c1521ec-16cb-487b-85a2-7454d347c585.png"><a href="https://visualstudio.microsoft.com/vs/community/"><img height="64" title="Visual Studio 2022 v17.12+"
|
||||||
alt="Visual Studio 2022 v17.10+"
|
alt="Visual Studio 2022 v17.12+"
|
||||||
src="https://user-images.githubusercontent.com/3953314/133473556-35fd48b4-6460-49b1-b7c5-b4a8c529cc04.png"></a></p>
|
src="https://user-images.githubusercontent.com/3953314/133473556-35fd48b4-6460-49b1-b7c5-b4a8c529cc04.png"></a></p>
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ trigger:
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
||||||
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: 1
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: BuildWindows
|
- job: BuildWindows
|
||||||
|
|
@ -14,15 +13,14 @@ jobs:
|
||||||
vmImage: 'windows-latest'
|
vmImage: 'windows-latest'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: UseDotNet@2
|
- task: UseDotNet@2
|
||||||
displayName: 'Install .NET 8'
|
displayName: 'Install .NET 9'
|
||||||
inputs:
|
inputs:
|
||||||
packageType: sdk
|
useGlobalJson: true
|
||||||
version: '8.0.x'
|
- task: NuGetAuthenticate@1
|
||||||
- task: NuGetAuthenticate@1
|
- script: ./publish.cmd Release
|
||||||
- script: ./publish.cmd Release
|
displayName: 'Build'
|
||||||
displayName: 'Build'
|
- powershell: ./.github/porcelain.ps1
|
||||||
- powershell: ./.github/porcelain.ps1
|
displayName: Migration Changes
|
||||||
displayName: Migration Changes
|
- script: dotnet test --no-restore
|
||||||
- script: dotnet test --no-restore
|
displayName: 'Test'
|
||||||
displayName: 'Test'
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ Everything is run from the _Distribution_ folder.
|
||||||
Using _terminal_, run:
|
Using _terminal_, run:
|
||||||
```bash
|
```bash
|
||||||
cd Distribution
|
cd Distribution
|
||||||
dotnet run ModernUO.dll
|
dotnet ModernUO.dll
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "Game Files"
|
=== "Game Files"
|
||||||
|
|
@ -27,4 +27,4 @@ Everything is run from the _Distribution_ folder.
|
||||||
|
|
||||||
|
|
||||||
!!! Tip
|
!!! Tip
|
||||||
Game files are not directly distributed in ModernUO, find the latest version to download these at [client download](https://uo.com/Client-Download/)
|
Game files are not directly distributed in ModernUO, find the latest version to download these at [client download](https://uo.com/Client-Download/)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "8.0.0",
|
"version": "9.0.101",
|
||||||
"rollForward": "latestMajor",
|
"rollForward": "latestMajor",
|
||||||
"allowPrerelease": false
|
"allowPrerelease": false
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
|
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
|
||||||
"version": "0.13.6"
|
"version": "0.13.7"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue