mirror of
https://gitlab.com/fabinfra/fabaccess/borepin.git
synced 2025-04-20 10:26:31 +02:00
BackUp
This commit is contained in:
parent
4004413af7
commit
872aeccee7
@ -53,7 +53,7 @@
|
|||||||
<Reference Include="System.Numerics.Vectors" />
|
<Reference Include="System.Numerics.Vectors" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1364" />
|
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1560" />
|
||||||
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
539
Borepin/Borepin.Android/Resources/Resource.designer.cs
generated
539
Borepin/Borepin.Android/Resources/Resource.designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.props" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.props')" />
|
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@ -10,11 +10,12 @@
|
|||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>Borepin.GTK</RootNamespace>
|
<RootNamespace>Borepin.GTK</RootNamespace>
|
||||||
<AssemblyName>Borepin.GTK</AssemblyName>
|
<AssemblyName>Borepin.GTK</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
<NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>
|
||||||
</NuGetPackageImportStamp>
|
</NuGetPackageImportStamp>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@ -76,17 +77,20 @@
|
|||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="webkit-sharp, Version=1.1.15.0, Culture=neutral, PublicKeyToken=eaa1d335d2e19745, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Xamarin.Forms.Platform.GTK.4.8.0.1560\lib\net45\webkit-sharp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1364\lib\netstandard2.0\Xamarin.Forms.Core.dll</HintPath>
|
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1560\lib\netstandard2.0\Xamarin.Forms.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xamarin.Forms.Platform, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Xamarin.Forms.Platform, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1364\lib\netstandard2.0\Xamarin.Forms.Platform.dll</HintPath>
|
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1560\lib\netstandard2.0\Xamarin.Forms.Platform.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xamarin.Forms.Platform.GTK, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Xamarin.Forms.Platform.GTK, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Xamarin.Forms.Platform.GTK.4.8.0.1364\lib\net45\Xamarin.Forms.Platform.GTK.dll</HintPath>
|
<HintPath>..\..\packages\Xamarin.Forms.Platform.GTK.4.8.0.1560\lib\net45\Xamarin.Forms.Platform.GTK.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1364\lib\netstandard2.0\Xamarin.Forms.Xaml.dll</HintPath>
|
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1560\lib\netstandard2.0\Xamarin.Forms.Xaml.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@ -110,8 +114,8 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.props'))" />
|
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props'))" />
|
||||||
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.targets'))" />
|
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.targets')" />
|
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets')" />
|
||||||
</Project>
|
</Project>
|
@ -8,4 +8,4 @@
|
|||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
</configuration>
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup></configuration>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="OpenTK" version="3.2" targetFramework="net48" />
|
<package id="OpenTK" version="3.2" targetFramework="net472" />
|
||||||
<package id="Xamarin.Forms" version="4.8.0.1364" targetFramework="net48" />
|
<package id="Xamarin.Forms" version="4.8.0.1560" targetFramework="net472" />
|
||||||
<package id="Xamarin.Forms.Platform.GTK" version="4.8.0.1364" targetFramework="net48" />
|
<package id="Xamarin.Forms.Platform.GTK" version="4.8.0.1560" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
@ -143,7 +143,7 @@
|
|||||||
</Page>
|
</Page>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1364" />
|
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1560" />
|
||||||
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.2.10" />
|
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.2.10" />
|
||||||
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -130,7 +130,7 @@
|
|||||||
<Reference Include="System.Numerics.Vectors" />
|
<Reference Include="System.Numerics.Vectors" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1364" />
|
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1560" />
|
||||||
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.props" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.props')" />
|
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
@ -12,6 +12,8 @@
|
|||||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||||
<TargetFrameworkIdentifier>Xamarin.Mac</TargetFrameworkIdentifier>
|
<TargetFrameworkIdentifier>Xamarin.Mac</TargetFrameworkIdentifier>
|
||||||
<MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
|
<MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@ -28,15 +30,19 @@
|
|||||||
<IncludeMonoRuntime>false</IncludeMonoRuntime>
|
<IncludeMonoRuntime>false</IncludeMonoRuntime>
|
||||||
<UseSGen>true</UseSGen>
|
<UseSGen>true</UseSGen>
|
||||||
<UseRefCounting>true</UseRefCounting>
|
<UseRefCounting>true</UseRefCounting>
|
||||||
<HttpClientHandler></HttpClientHandler>
|
<HttpClientHandler>
|
||||||
<LinkMode></LinkMode>
|
</HttpClientHandler>
|
||||||
<XamMacArch></XamMacArch>
|
<LinkMode>
|
||||||
|
</LinkMode>
|
||||||
|
<XamMacArch>
|
||||||
|
</XamMacArch>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>pdbonly</DebugType>
|
||||||
<Optimize>true</Optimize>
|
<Optimize>true</Optimize>
|
||||||
<OutputPath>bin\Release</OutputPath>
|
<OutputPath>bin\Release</OutputPath>
|
||||||
<DefineConstants></DefineConstants>
|
<DefineConstants>
|
||||||
|
</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<EnableCodeSigning>false</EnableCodeSigning>
|
<EnableCodeSigning>false</EnableCodeSigning>
|
||||||
@ -47,22 +53,24 @@
|
|||||||
<UseRefCounting>true</UseRefCounting>
|
<UseRefCounting>true</UseRefCounting>
|
||||||
<CodeSignEntitlements>Entitlements.plist</CodeSignEntitlements>
|
<CodeSignEntitlements>Entitlements.plist</CodeSignEntitlements>
|
||||||
<LinkMode>SdkOnly</LinkMode>
|
<LinkMode>SdkOnly</LinkMode>
|
||||||
<HttpClientHandler></HttpClientHandler>
|
<HttpClientHandler>
|
||||||
<XamMacArch></XamMacArch>
|
</HttpClientHandler>
|
||||||
|
<XamMacArch>
|
||||||
|
</XamMacArch>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1560\lib\Xamarin.Mac\Xamarin.Forms.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Xamarin.Forms.Platform, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1560\lib\Xamarin.Mac\Xamarin.Forms.Platform.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1560\lib\Xamarin.Mac\Xamarin.Forms.Xaml.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Xamarin.Mac" />
|
<Reference Include="Xamarin.Mac" />
|
||||||
<Reference Include="Xamarin.Forms.Core">
|
|
||||||
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1364\lib\Xamarin.Mac\Xamarin.Forms.Core.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="Xamarin.Forms.Platform">
|
|
||||||
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1364\lib\Xamarin.Mac\Xamarin.Forms.Platform.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="Xamarin.Forms.Xaml">
|
|
||||||
<HintPath>..\..\packages\Xamarin.Forms.4.8.0.1364\lib\Xamarin.Mac\Xamarin.Forms.Xaml.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
|
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
|
||||||
@ -104,5 +112,12 @@
|
|||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
|
||||||
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1364\build\Xamarin.Forms.targets')" />
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.props'))" />
|
||||||
|
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets'))" />
|
||||||
|
</Target>
|
||||||
|
<Import Project="..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.4.8.0.1560\build\Xamarin.Forms.targets')" />
|
||||||
</Project>
|
</Project>
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Xamarin.Forms" version="4.8.0.1364" targetFramework="xamarinmac20" />
|
<package id="Xamarin.Forms" version="4.8.0.1560" targetFramework="xamarinmac20" />
|
||||||
</packages>
|
</packages>
|
@ -20,7 +20,7 @@
|
|||||||
<Warning Text="$(MSBuildProjectFile) is Multilingual build enabled, but the Multilingual App Toolkit is unavailable during the build. If building with Visual Studio, please check to ensure that toolkit is properly installed." />
|
<Warning Text="$(MSBuildProjectFile) is Multilingual build enabled, but the Multilingual App Toolkit is unavailable during the build. If building with Visual Studio, please check to ensure that toolkit is properly installed." />
|
||||||
</Target>
|
</Target>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1364" />
|
<PackageReference Include="Xamarin.Forms" Version="4.8.0.1560" />
|
||||||
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
<PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="log4net" Version="2.0.11" />
|
<PackageReference Include="log4net" Version="2.0.12" />
|
||||||
<PackageReference Include="PCSC" Version="5.0.0" />
|
<PackageReference Include="PCSC" Version="5.0.0" />
|
||||||
<PackageReference Include="PCSC.Iso7816" Version="5.0.0" />
|
<PackageReference Include="PCSC.Iso7816" Version="5.0.0" />
|
||||||
<PackageReference Include="Portable.BouncyCastle" Version="1.8.6.7" />
|
<PackageReference Include="Portable.BouncyCastle" Version="1.8.8" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -95,6 +95,23 @@ namespace NFC.Mifare_DESFire
|
|||||||
return arr;
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get Range of Array
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="array"></param>
|
||||||
|
/// <param name="offset"></param>
|
||||||
|
/// <param name="length"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public byte[] GetSubArray(byte[] array, long offset, long length)
|
||||||
|
{
|
||||||
|
byte[] subarray = new byte[length];
|
||||||
|
for (long i = offset; i < offset + length; i++)
|
||||||
|
{
|
||||||
|
subarray[i - offset] = array[i];
|
||||||
|
}
|
||||||
|
return subarray;
|
||||||
|
}
|
||||||
|
|
||||||
private int GetHexVal(char hex)
|
private int GetHexVal(char hex)
|
||||||
{
|
{
|
||||||
int val = (int)hex;
|
int val = (int)hex;
|
||||||
@ -677,6 +694,62 @@ namespace NFC.Mifare_DESFire
|
|||||||
_Log.Debug("End AuthenticateISO_DES");
|
_Log.Debug("End AuthenticateISO_DES");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Change Same DES key as Authenticated
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key_id"></param>
|
||||||
|
/// <param name="new_key"></param>
|
||||||
|
/// <param name="key_version"></param>
|
||||||
|
public void ChangeKey_DES(byte key_id, byte[] new_key, byte key_version)
|
||||||
|
{
|
||||||
|
_Log.Debug("Start ChangeKey_DES");
|
||||||
|
|
||||||
|
byte[] header = new byte[]
|
||||||
|
{
|
||||||
|
0xC4, key_id
|
||||||
|
};
|
||||||
|
_Log.DebugFormat("header: {0}", ConvertToHexString(header));
|
||||||
|
|
||||||
|
byte[] key_and_version = new_key;
|
||||||
|
byte[] command = Concatenate(header, key_and_version);
|
||||||
|
_Log.DebugFormat("command: {0}", ConvertToHexString(command));
|
||||||
|
|
||||||
|
CRC32 crc32 = new CRC32();
|
||||||
|
byte[] crc = crc32.Calculate(command);
|
||||||
|
_Log.DebugFormat("crc: {0}", ConvertToHexString(crc));
|
||||||
|
|
||||||
|
byte[] cryptogram = Concatenate(key_and_version, crc);
|
||||||
|
_Log.DebugFormat("cryptogram: {0}", ConvertToHexString(cryptogram));
|
||||||
|
|
||||||
|
byte[] cryptogram_block = ExpandToBlockSize(cryptogram, 16);
|
||||||
|
_Log.DebugFormat("cryptogram_block: {0}", ConvertToHexString(cryptogram_block));
|
||||||
|
|
||||||
|
TDES des = new TDES();
|
||||||
|
byte[] cryptogram_enc = des.Encrypt(cryptogram_block, _SessionKey, _IV);
|
||||||
|
_Log.DebugFormat("cryptogram_enc: {0}", ConvertToHexString(cryptogram_enc));
|
||||||
|
|
||||||
|
_IV = ExtractLastBlock(cryptogram_enc, 8);
|
||||||
|
_Log.DebugFormat("_IV: {0}", ConvertToHexString(_IV));
|
||||||
|
|
||||||
|
byte[] data = Concatenate(new byte[] { key_id }, cryptogram_enc);
|
||||||
|
_Log.DebugFormat("data: {0}", ConvertToHexString(data));
|
||||||
|
|
||||||
|
APDUCommand cmd_ChangeKey = new APDUCommand(IsoCase.Case4Short)
|
||||||
|
{
|
||||||
|
CLA = 0x90,
|
||||||
|
INS = 0xC4,
|
||||||
|
Data = data
|
||||||
|
};
|
||||||
|
_Log.DebugFormat("APDU_CMD(cmd_ChangeKey): {0}", ConvertToHexString(cmd_ChangeKey.ToArray()));
|
||||||
|
|
||||||
|
APDUResponse response = _Card.Transmit(cmd_ChangeKey);
|
||||||
|
_Log.DebugFormat("APDU_RES(cmd_ChangeKey): {0}", ConvertToHexString(response.ToArray()));
|
||||||
|
|
||||||
|
CheckAPDUResponse(response);
|
||||||
|
|
||||||
|
_Log.Debug("End ChangeKey_AES");
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Change Same AES key as Authenticated
|
/// Change Same AES key as Authenticated
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -851,58 +924,63 @@ namespace NFC.Mifare_DESFire
|
|||||||
{
|
{
|
||||||
_Log.Debug("Start ReadData");
|
_Log.Debug("Start ReadData");
|
||||||
|
|
||||||
byte[] data = new byte[]
|
int max_read_bytes_pre_transaction = 58;
|
||||||
{
|
long bytes_readed = 0;
|
||||||
file_id
|
|
||||||
};
|
|
||||||
|
|
||||||
byte[] offset_byte_tolong = BitConverter.GetBytes(offset);
|
List<byte> read_data = new List<byte>();
|
||||||
// Use only 3 Bytes
|
|
||||||
byte[] offset_byte = new byte[]
|
while (bytes_readed != length)
|
||||||
{
|
{
|
||||||
|
byte[] data = new byte[]
|
||||||
|
{
|
||||||
|
file_id
|
||||||
|
};
|
||||||
|
|
||||||
|
byte[] offset_byte_tolong = BitConverter.GetBytes(offset + bytes_readed);
|
||||||
|
// Use only 3 Bytes
|
||||||
|
byte[] offset_byte = new byte[]
|
||||||
|
{
|
||||||
offset_byte_tolong[0],
|
offset_byte_tolong[0],
|
||||||
offset_byte_tolong[1],
|
offset_byte_tolong[1],
|
||||||
offset_byte_tolong[2],
|
offset_byte_tolong[2],
|
||||||
};
|
};
|
||||||
|
|
||||||
byte[] length_byte_tolong = BitConverter.GetBytes(length);
|
long bytes_toread = 0;
|
||||||
// Use only 3 Bytes
|
|
||||||
byte[] length_byte = new byte[]
|
|
||||||
{
|
|
||||||
length_byte_tolong[0],
|
|
||||||
length_byte_tolong[1],
|
|
||||||
length_byte_tolong[2],
|
|
||||||
};
|
|
||||||
|
|
||||||
APDUCommand cmd_ReadData = new APDUCommand(IsoCase.Case4Short)
|
if (length - bytes_readed < max_read_bytes_pre_transaction)
|
||||||
{
|
|
||||||
CLA = 0x90,
|
|
||||||
INS = (byte)APDUInstructions.READ_DATA,
|
|
||||||
Data = Concatenate(data, offset_byte, length_byte)
|
|
||||||
};
|
|
||||||
|
|
||||||
APDUResponse response;
|
|
||||||
List<byte> read_data = new List<byte>();
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
_Log.DebugFormat("APDU_CMD(cmd_ReadData): {0}", ConvertToHexString(cmd_ReadData.ToArray()));
|
|
||||||
|
|
||||||
response = _Card.Transmit(cmd_ReadData);
|
|
||||||
_Log.DebugFormat("APDU_RES(cmd_ReadData): {0}", ConvertToHexString(response.ToArray()));
|
|
||||||
|
|
||||||
if (response.SW1 == 0x91 && response.SW2 == 0xAF)
|
|
||||||
{
|
{
|
||||||
read_data.AddRange(response.Body);
|
bytes_toread = length - bytes_readed;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CheckAPDUResponse(response);
|
bytes_toread = max_read_bytes_pre_transaction;
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd_ReadData.INS = 0xAF;
|
byte[] length_byte_tolong = BitConverter.GetBytes(bytes_toread);
|
||||||
} while (response.SW1 == 0x91 && response.SW2 == 0xAF);
|
bytes_readed += bytes_toread;
|
||||||
|
|
||||||
|
// Use only 3 Bytes
|
||||||
|
byte[] length_byte = new byte[]
|
||||||
|
{
|
||||||
|
length_byte_tolong[0],
|
||||||
|
length_byte_tolong[1],
|
||||||
|
length_byte_tolong[2],
|
||||||
|
};
|
||||||
|
|
||||||
|
APDUCommand cmd_ReadData = new APDUCommand(IsoCase.Case4Short)
|
||||||
|
{
|
||||||
|
CLA = 0x90,
|
||||||
|
INS = (byte)APDUInstructions.READ_DATA,
|
||||||
|
Data = Concatenate(data, offset_byte, length_byte)
|
||||||
|
};
|
||||||
|
_Log.DebugFormat("APDU_CMD(cmd_ReadData): {0}", ConvertToHexString(cmd_ReadData.ToArray()));
|
||||||
|
|
||||||
|
APDUResponse response = _Card.Transmit(cmd_ReadData);
|
||||||
|
_Log.DebugFormat("APDU_RES(cmd_ReadData): {0}", ConvertToHexString(response.ToArray()));
|
||||||
|
|
||||||
|
CheckAPDUResponse(response);
|
||||||
|
read_data.AddRange(response.Body);
|
||||||
|
}
|
||||||
_Log.Debug("End ReadData");
|
_Log.Debug("End ReadData");
|
||||||
|
|
||||||
return read_data.ToArray();
|
return read_data.ToArray();
|
||||||
@ -957,6 +1035,80 @@ namespace NFC.Mifare_DESFire
|
|||||||
_Log.Debug("End WriteData");
|
_Log.Debug("End WriteData");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Write Data to File
|
||||||
|
///// </summary>
|
||||||
|
///// <param name="file_id">ID of File (0x01 - 0x10)</param>
|
||||||
|
///// <param name="offset">Offset for File</param>
|
||||||
|
///// <param name="data">Data to write</param>
|
||||||
|
//public void WriteData(byte file_id, UInt32 offset, byte[] data)
|
||||||
|
//{
|
||||||
|
// _Log.Debug("Start WriteData");
|
||||||
|
|
||||||
|
// int max_write_bytes_pre_transaction = 8;
|
||||||
|
// byte[] write_buffer;
|
||||||
|
|
||||||
|
// long bytes_writed = 0;
|
||||||
|
// long length = data.Length;
|
||||||
|
|
||||||
|
// while (bytes_writed != data.Length)
|
||||||
|
// {
|
||||||
|
// byte[] file_id_array = new byte[]
|
||||||
|
// {
|
||||||
|
// file_id
|
||||||
|
// };
|
||||||
|
|
||||||
|
// byte[] offset_byte_tolong = BitConverter.GetBytes(offset + bytes_writed);
|
||||||
|
// // Use only 3 Bytes
|
||||||
|
// byte[] offset_byte = new byte[]
|
||||||
|
// {
|
||||||
|
// offset_byte_tolong[0],
|
||||||
|
// offset_byte_tolong[1],
|
||||||
|
// offset_byte_tolong[2],
|
||||||
|
// };
|
||||||
|
|
||||||
|
// long bytes_towrite = 0;
|
||||||
|
|
||||||
|
// if (length - bytes_writed < max_write_bytes_pre_transaction)
|
||||||
|
// {
|
||||||
|
// bytes_towrite = length - bytes_writed;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// bytes_towrite = max_write_bytes_pre_transaction;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// byte[] length_byte_tolong = BitConverter.GetBytes(bytes_towrite);
|
||||||
|
|
||||||
|
// write_buffer = GetSubArray(data, bytes_writed, bytes_towrite);
|
||||||
|
// bytes_writed += bytes_towrite;
|
||||||
|
|
||||||
|
// // Use only 3 Bytes
|
||||||
|
// byte[] length_byte = new byte[]
|
||||||
|
// {
|
||||||
|
// length_byte_tolong[0],
|
||||||
|
// length_byte_tolong[1],
|
||||||
|
// length_byte_tolong[2],
|
||||||
|
// };
|
||||||
|
|
||||||
|
// APDUCommand cmd_WriteData = new APDUCommand(IsoCase.Case4Short)
|
||||||
|
// {
|
||||||
|
// CLA = 0x90,
|
||||||
|
// INS = (byte)APDUInstructions.WRITE_DATA,
|
||||||
|
// Data = Concatenate(file_id_array, offset_byte, length_byte, write_buffer)
|
||||||
|
// };
|
||||||
|
// _Log.DebugFormat("APDU_CMD(cmd_WriteData): {0}", ConvertToHexString(cmd_WriteData.ToArray()));
|
||||||
|
|
||||||
|
// APDUResponse response = _Card.Transmit(cmd_WriteData);
|
||||||
|
// _Log.DebugFormat("APDU_RES(cmd_WriteData): {0}", ConvertToHexString(response.ToArray()));
|
||||||
|
|
||||||
|
// CheckAPDUResponse(response);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// _Log.Debug("End WriteData");
|
||||||
|
//}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get all ApplicationIDS from PICC
|
/// Get all ApplicationIDS from PICC
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -62,7 +62,7 @@ namespace NFC_Test
|
|||||||
desfire.ChangeOtherKey_AES(0x01, _FabAccess_Application_AuthKey._Key, _Default_AESKey._Key, _FabAccess_Application_AuthKey._KeyVersion);
|
desfire.ChangeOtherKey_AES(0x01, _FabAccess_Application_AuthKey._Key, _Default_AESKey._Key, _FabAccess_Application_AuthKey._KeyVersion);
|
||||||
|
|
||||||
UInt16 accesRights = desfire.GenerateFileAccessRights((byte)FileAccessRights.FREE, 0x00, 0x00, 0x00);
|
UInt16 accesRights = desfire.GenerateFileAccessRights((byte)FileAccessRights.FREE, 0x00, 0x00, 0x00);
|
||||||
desfire.CreateFile_Standard(_FabAccess_FID, FileCommunication.PLAIN, accesRights, _FabAccess_FSize);
|
desfire.CreateFile_Standard(_FabAccess_FID, FileCommunication.MAC, accesRights, _FabAccess_FSize);
|
||||||
|
|
||||||
desfire.WriteData(0x01, 0, Encoding.ASCII.GetBytes(_FabAccess_UserDomain));
|
desfire.WriteData(0x01, 0, Encoding.ASCII.GetBytes(_FabAccess_UserDomain));
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ namespace NFC_Test
|
|||||||
MIFARE_DESFire desfire = new MIFARE_DESFire(card);
|
MIFARE_DESFire desfire = new MIFARE_DESFire(card);
|
||||||
|
|
||||||
desfire.SelectApplication(_FabAccess_AID);
|
desfire.SelectApplication(_FabAccess_AID);
|
||||||
byte[] card_data = desfire.ReadData(_FabAccess_FID, 0x00, _FabAccess_FSize);
|
byte[] card_data = desfire.ReadData(_FabAccess_FID, 0x00, 0x0F);
|
||||||
string userdomain = Encoding.ASCII.GetString(card_data).Replace("\u0000", "");
|
string userdomain = Encoding.ASCII.GetString(card_data).Replace("\u0000", "");
|
||||||
|
|
||||||
string domain = userdomain.Split('@')[1];
|
string domain = userdomain.Split('@')[1];
|
||||||
|
@ -9,6 +9,7 @@ using NFC.Mifare_DESFire;
|
|||||||
using NFC.Mifare_DESFire.Enums;
|
using NFC.Mifare_DESFire.Enums;
|
||||||
using NFC.ISO7816_4;
|
using NFC.ISO7816_4;
|
||||||
using PCSC.Iso7816;
|
using PCSC.Iso7816;
|
||||||
|
using NFC.Crypto;
|
||||||
|
|
||||||
namespace NFC_Test
|
namespace NFC_Test
|
||||||
{
|
{
|
||||||
@ -58,5 +59,71 @@ namespace NFC_Test
|
|||||||
reader.Stop();
|
reader.Stop();
|
||||||
reader.CardDiscovered -= handler;
|
reader.CardDiscovered -= handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestCase("ACS ACR122U PICC Interface 0")]
|
||||||
|
public void Read(string readerID)
|
||||||
|
{
|
||||||
|
IHardware hardware = new Hardware();
|
||||||
|
IReader reader = hardware.OpenReader(readerID);
|
||||||
|
|
||||||
|
bool connected_successfully = false;
|
||||||
|
|
||||||
|
ReaderEventHandler handler = (sender, card) =>
|
||||||
|
{
|
||||||
|
card.Connect();
|
||||||
|
|
||||||
|
MIFARE_DESFire desfire = new MIFARE_DESFire(card);
|
||||||
|
|
||||||
|
desfire.SelectApplication(0x2A472D);
|
||||||
|
Console.WriteLine(HexConverter.ConvertToHexString(desfire.ReadData(0x01, 0x00, 0xF0)));
|
||||||
|
|
||||||
|
connected_successfully = true;
|
||||||
|
|
||||||
|
card.Disconnect();
|
||||||
|
};
|
||||||
|
|
||||||
|
reader.CardDiscovered += handler;
|
||||||
|
reader.Start();
|
||||||
|
|
||||||
|
Assert.AreEqual(true, connected_successfully);
|
||||||
|
|
||||||
|
reader.Stop();
|
||||||
|
reader.CardDiscovered -= handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase("ACS ACR122U PICC Interface 0")]
|
||||||
|
public void Write(string readerID)
|
||||||
|
{
|
||||||
|
IHardware hardware = new Hardware();
|
||||||
|
IReader reader = hardware.OpenReader(readerID);
|
||||||
|
|
||||||
|
bool connected_successfully = false;
|
||||||
|
|
||||||
|
ReaderEventHandler handler = (sender, card) =>
|
||||||
|
{
|
||||||
|
card.Connect();
|
||||||
|
|
||||||
|
MIFARE_DESFire desfire = new MIFARE_DESFire(card);
|
||||||
|
|
||||||
|
desfire.SelectApplication(0x2A472D);
|
||||||
|
|
||||||
|
CipherKey _FabAccess_Application_MasterKey = new CipherKey("50645367566B59703273357638792F42", CipherType.AES, 0x10);
|
||||||
|
|
||||||
|
desfire.AuthenticateISO_AES(0x00, _FabAccess_Application_MasterKey._Key);
|
||||||
|
desfire.WriteData(0x01, 0x00, HexConverter.ConvertFromHexString("7468656a6f6b6c6c"));
|
||||||
|
|
||||||
|
connected_successfully = true;
|
||||||
|
|
||||||
|
card.Disconnect();
|
||||||
|
};
|
||||||
|
|
||||||
|
reader.CardDiscovered += handler;
|
||||||
|
reader.Start();
|
||||||
|
|
||||||
|
Assert.AreEqual(true, connected_successfully);
|
||||||
|
|
||||||
|
reader.Stop();
|
||||||
|
reader.CardDiscovered -= handler;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user