Skip to content

Commit e5549d1

Browse files
committed
🎉 Start Chasm.Compatibility.Unsafe project
1 parent 5262a45 commit e5549d1

File tree

11 files changed

+648
-0
lines changed

11 files changed

+648
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,3 +396,5 @@ FodyWeavers.xsd
396396

397397
# JetBrains Rider
398398
*.sln.iml
399+
400+
!/ExternalPackages/*
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Chasm.Compatibility.Unsafe Changelog
2+
3+
### v2.0.0
4+
- 🧩 Targets: `net8.0`, `netcoreapp3.0`, `netcoreapp1.0`, `netstandard2.0`, `netstandard1.0`, `net461`, `net45`, `net35`;
5+
- ✨ Added `System.Runtime.CompilerServices.Unsafe` polyfill;
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<!-- Project Properties -->
5+
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
6+
<TargetFrameworks>
7+
net8.0;
8+
netcoreapp3.0;
9+
netcoreapp1.0;
10+
netstandard2.0;
11+
netstandard1.0;
12+
net461;
13+
net45;
14+
net35;
15+
</TargetFrameworks>
16+
<!--
17+
| Target Framework | - Status
18+
|==================|======================
19+
| net8.0 | - supported
20+
| netcoreapp3.0 | - supported
21+
| netcoreapp1.0 | - Unsafe package v5 (legacy)
22+
| netstandard2.0 | - Unsafe package v6
23+
| netstandard1.0 | - Unsafe package v5 (legacy)
24+
| net461 | - Unsafe package v6
25+
| net45 | - Unsafe package v5 (legacy)
26+
| net35 | - own implementation
27+
-->
28+
<!--
29+
| Target Frameworks (-excluded) | - Justification
30+
|================|=================|=========|==============================
31+
| net8.0 | | | - latest API, for use in IDE
32+
| netcoreapp3.0 | | | - Unsafe API introduced
33+
| netcoreapp3.1- | netstandard2.0 | net461 | - Unsafe package v6
34+
| netcoreapp1.0 | netstandard1.0 | net45 | - Unsafe package v5
35+
| netcoreapp1.0 | netstandard1.0 | net35 | - lowest supported API
36+
-->
37+
38+
<!-- Header -->
39+
<AssemblyName>Chasm.Compatibility.Unsafe</AssemblyName>
40+
<PackageId>$(AssemblyName)</PackageId>
41+
<Version>2.0.0</Version>
42+
43+
<!-- Title, Description, Tags -->
44+
<Title>$(AssemblyName)</Title>
45+
<Description>
46+
Polyfills System.Runtime.CompilerServices.Unsafe for a wide selection of target frameworks.
47+
</Description>
48+
<PackageTags>compatibility polyfills shims unsafe</PackageTags>
49+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
50+
<PackageReadmeFile>README.md</PackageReadmeFile>
51+
52+
</PropertyGroup>
53+
54+
<ItemGroup>
55+
<None Remove="Chasm.Compatibility.Unsafe.csproj.DotSettings" />
56+
<None Include="README.md" Pack="true" PackagePath="\" />
57+
<None Include="CHANGELOG.md" Pack="true" PackagePath="\" />
58+
<InternalsVisibleTo Include="Chasm.Compatibility.Tests" />
59+
<PackageReference Include="JetBrains.Annotations" Version="2023.3.0" PrivateAssets="all" />
60+
</ItemGroup>
61+
62+
<ItemGroup Condition="(
63+
'$(TargetFramework)'=='netstandard2.0' or
64+
'$(TargetFramework)'=='net461'
65+
)">
66+
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
67+
</ItemGroup>
68+
69+
<ItemGroup Condition="(
70+
'$(TargetFramework)'=='netcoreapp1.0' or
71+
'$(TargetFramework)'=='netstandard1.0' or
72+
'$(TargetFramework)'=='net45'
73+
)">
74+
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="5.0.0" />
75+
</ItemGroup>
76+
77+
<ItemGroup Condition="(
78+
'$(TargetFramework)'=='net35'
79+
)">
80+
<PackageReference Include="Fody" Version="6.8.1" PrivateAssets="all" />
81+
<PackageReference Include="FodyHelpers" Version="6.8.1" PrivateAssets="all" />
82+
<!-- Use a custom version of InlineIL.Fody that targets net35 -->
83+
<PackageReference Include="InlineIL.Fody" Version="9999.0.0-local" PrivateAssets="all" />
84+
</ItemGroup>
85+
86+
</Project>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
3+
<InlineIL />
4+
</Weavers>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Chasm.Compatibility.Unsafe
2+
3+
[![Latest NuGet version](https://img.shields.io/nuget/v/Chasm.Compatibility.Unsafe)](https://www.nuget.org/packages/Chasm.Compatibility.Unsafe/)
4+
[![MIT License](https://img.shields.io/github/license/Chasmical/Chasm)](../../LICENSE)
5+
6+
7+
8+
Polyfills `System.Runtime.CompilerServices.Unsafe` for a wide selection of target frameworks.
9+
10+

0 commit comments

Comments
 (0)