<MSBuild Projects="$(XamarinFormsSource)\Xamarin.Forms.Build.Tasks\Xamarin.Forms.Build.Tasks.csproj" Targets="Restore"></MSBuild>
<MSBuild Projects="$(XamarinFormsSource)\Xamarin.Forms.Build.Tasks\Xamarin.Forms.Build.Tasks.csproj"></MSBuild>
</Target>-->
- <Import Project="$(XamarinFormsSource).nuspec\Xamarin.Forms.targets" Condition="'$(BuildingInsideVisualStudio)' == 'true' AND Exists('$(__XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll')" />
+ <Import Project="$(XamarinFormsSource).nuspec\Xamarin.Forms.targets" Condition="'$(BuildingInsideVisualStudio)' == 'true' AND Exists('$(__XFBuildTasksLocation)XSF.Build.Tasks.dll')" />
<Import Project="$(XamarinFormsSource).nuspec\Xamarin.Forms.targets" Condition="'$(BuildingInsideVisualStudio)' != 'true'" />
</Project>
<?xml version="1.0" encoding="utf-8" ?>
<cu:CirclePage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:cu="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms"
+ xmlns:cu="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=XSF.CircularUI.Forms"
x:Class="XStopWatch.LapsPage" x:Name="Self">
<ContentPage.Content>
<AbsoluteLayout>
<?xml version="1.0" encoding="utf-8" ?>
<cu:CirclePage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:cu="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms"
+ xmlns:cu="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=XSF.CircularUI.Forms"
xmlns:local="clr-namespace:XStopWatch"
x:Name="Self"
x:Class="XStopWatch.StopWatch">
<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:cu="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms"
+ xmlns:cu="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=XSF.CircularUI.Forms"
xmlns:local="clr-namespace:XStopWatch"
x:Class="XStopWatch.StopWatchApplication">
<Application.MainPage>
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\..\Tizen.CircularUI\Tizen.Wearable.CircularUI.Forms.Renderer\Tizen.Wearable.CircularUI.Forms.Renderer.csproj" />
+ <ProjectReference Include="..\..\..\Tizen.CircularUI\Tizen.Wearable.CircularUI.Forms.Renderer\XSF.CircularUI.Forms.Renderer.csproj" />
+ <ProjectReference Include="..\..\..\Tizen.CircularUI\Tizen.Wearable.CircularUI.Forms\XSF.CircularUI.Forms.csproj" />
+ <ProjectReference Include="..\..\..\Xamarin.Forms\Xamarin.Forms.Core\XSF.Core.csproj" />
+ <ProjectReference Include="..\..\..\Xamarin.Forms\Xamarin.Forms.Platform.Tizen\XSF.Platform.Tizen.csproj" />
+ <ProjectReference Include="..\..\..\Xamarin.Forms\Xamarin.Forms.Platform\XSF.Platform.csproj" />
+ <ProjectReference Include="..\..\..\Xamarin.Forms\Xamarin.Forms.Xaml\XSF.Xaml.csproj" />
</ItemGroup>
<!-- Include Nuget Package for Tizen Project building -->
<MSBuild Projects="$(XamarinFormsSource)\Xamarin.Forms.Build.Tasks\Xamarin.Forms.Build.Tasks.csproj" Targets="Restore"></MSBuild>
<MSBuild Projects="$(XamarinFormsSource)\Xamarin.Forms.Build.Tasks\Xamarin.Forms.Build.Tasks.csproj"></MSBuild>
</Target>-->
- <Import Project="$(XamarinFormsSource).nuspec\Xamarin.Forms.targets" Condition="'$(BuildingInsideVisualStudio)' == 'true' AND Exists('$(__XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll')" />
+ <Import Project="$(XamarinFormsSource).nuspec\Xamarin.Forms.targets" Condition="'$(BuildingInsideVisualStudio)' == 'true' AND Exists('$(__XFBuildTasksLocation)XSF.Build.Tasks.dll')" />
<Import Project="$(XamarinFormsSource).nuspec\Xamarin.Forms.targets" Condition="'$(BuildingInsideVisualStudio)' != 'true'" />
</Project>
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>tizen40</TargetFramework>
- <TargetFrameworkIdentifier>Tizen</TargetFrameworkIdentifier>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- </PropertyGroup>
-
- <ItemGroup>
- <None Remove="res\circle.png" />
- <EmbeddedResource Include="res\circle.png" />
- </ItemGroup>
-
- <ItemGroup>
- <PackageReference Include="Tizen.NET" Version="4.0.0" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Platform.Tizen\Xamarin.Forms.Platform.Tizen.csproj" />
- <ProjectReference Include="..\Tizen.Wearable.CircularUI.Forms\Tizen.Wearable.CircularUI.Forms.csproj" />
- </ItemGroup>
-
-</Project>
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <TargetFramework>tizen40</TargetFramework>
+ <TargetFrameworkIdentifier>Tizen</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <None Remove="res\circle.png" />
+ <EmbeddedResource Include="res\circle.png" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Tizen.NET" Version="4.0.0" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Platform.Tizen\XSF.Platform.Tizen.csproj" />
+ <ProjectReference Include="..\Tizen.Wearable.CircularUI.Forms\XSF.CircularUI.Forms.csproj" />
+ </ItemGroup>
+
+</Project>
using System.Runtime.CompilerServices;
-[assembly: InternalsVisibleTo("Tizen.Wearable.CircularUI.Forms.Renderer")]
+[assembly: InternalsVisibleTo("XSF.CircularUI.Forms.Renderer")]
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
- </PropertyGroup>
-
- <ItemGroup>
- <None Remove="Resources\img_button_pause.png" />
- <None Remove="Resources\img_button_play.png" />
- <EmbeddedResource Include="Resources\img_button_pause.png" />
- <EmbeddedResource Include="Resources\img_button_play.png" />
- <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj" />
- <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Platform\Xamarin.Forms.Platform.csproj" />
- <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj" />
- <EmbeddedResource Update="EmbeddingControls.xaml">
- <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
- </EmbeddedResource>
- </ItemGroup>
-
-</Project>
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <TargetFramework>netstandard2.0</TargetFramework>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <None Remove="Resources\img_button_pause.png" />
+ <None Remove="Resources\img_button_play.png" />
+ <EmbeddedResource Include="Resources\img_button_pause.png" />
+ <EmbeddedResource Include="Resources\img_button_play.png" />
+ <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Core\XSF.Core.csproj" />
+ <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Platform\XSF.Platform.csproj" />
+ <ProjectReference Include="..\..\Xamarin.Forms\Xamarin.Forms.Xaml\XSF.Xaml.csproj" />
+ <EmbeddedResource Update="EmbeddingControls.xaml">
+ <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
+ </EmbeddedResource>
+ </ItemGroup>
+
+</Project>
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XamarinSource", "XamarinSource", "{68B0EFBF-2ACB-46F2-91D5-263A920AD13B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Build.Tasks", "Xamarin.Forms\Xamarin.Forms.Build.Tasks\Xamarin.Forms.Build.Tasks.csproj", "{A46F34BF-826E-4527-9C41-ACA1B40A2A84}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSF.Build.Tasks", "Xamarin.Forms\Xamarin.Forms.Build.Tasks\XSF.Build.Tasks.csproj", "{A46F34BF-826E-4527-9C41-ACA1B40A2A84}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Core", "Xamarin.Forms\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj", "{D725AE90-E651-450E-AD6D-F221A2EDA5BF}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSF.Core", "Xamarin.Forms\Xamarin.Forms.Core\XSF.Core.csproj", "{D725AE90-E651-450E-AD6D-F221A2EDA5BF}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform", "Xamarin.Forms\Xamarin.Forms.Platform\Xamarin.Forms.Platform.csproj", "{18FAD05F-8913-4241-916F-FB03C76ECA68}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSF.Platform", "Xamarin.Forms\Xamarin.Forms.Platform\XSF.Platform.csproj", "{18FAD05F-8913-4241-916F-FB03C76ECA68}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform.Tizen", "Xamarin.Forms\Xamarin.Forms.Platform.Tizen\Xamarin.Forms.Platform.Tizen.csproj", "{2BB62D19-F9C6-46D5-8545-B63345DDBCCC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSF.Platform.Tizen", "Xamarin.Forms\Xamarin.Forms.Platform.Tizen\XSF.Platform.Tizen.csproj", "{2BB62D19-F9C6-46D5-8545-B63345DDBCCC}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Xaml", "Xamarin.Forms\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj", "{DB9289C6-D0BE-45AF-AA76-601B8B3D89DF}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSF.Xaml", "Xamarin.Forms\Xamarin.Forms.Xaml\XSF.Xaml.csproj", "{DB9289C6-D0BE-45AF-AA76-601B8B3D89DF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestApps", "TestApps", "{087187F9-A361-4269-88EB-47A44185FA7F}"
EndProject
Test\Directory.Build.targets = Test\Directory.Build.targets
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Wearable.CircularUI.Forms", "Tizen.CircularUI\Tizen.Wearable.CircularUI.Forms\Tizen.Wearable.CircularUI.Forms.csproj", "{C9B8F56B-B2D5-4D8E-84BC-F1926160A130}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSF.CircularUI.Forms", "Tizen.CircularUI\Tizen.Wearable.CircularUI.Forms\XSF.CircularUI.Forms.csproj", "{C9B8F56B-B2D5-4D8E-84BC-F1926160A130}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Wearable.CircularUI.Forms.Renderer", "Tizen.CircularUI\Tizen.Wearable.CircularUI.Forms.Renderer\Tizen.Wearable.CircularUI.Forms.Renderer.csproj", "{1D58F961-6843-474B-91AB-07140137C707}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSF.CircularUI.Forms.Renderer", "Tizen.CircularUI\Tizen.Wearable.CircularUI.Forms.Renderer\XSF.CircularUI.Forms.Renderer.csproj", "{1D58F961-6843-474B-91AB-07140137C707}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XStopWatch", "Test\XStopWatch\XStopWatch\XStopWatch.csproj", "{38700235-FC85-41F6-8801-5BBFDE5BCD65}"
EndProject
<_XFBuildTasksLocation Condition="'$(_XFBuildTasksLocation)' == ''">$(MSBuildThisFileDirectory)net46\</_XFBuildTasksLocation>
</PropertyGroup>
- <UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
- <UsingTask TaskName="Xamarin.Forms.Build.Tasks.CssGTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
- <UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
+ <UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="$(_XFBuildTasksLocation)XSF.Build.Tasks.dll" />
+ <UsingTask TaskName="Xamarin.Forms.Build.Tasks.CssGTask" AssemblyFile="$(_XFBuildTasksLocation)XSF.Build.Tasks.dll" />
+ <UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="$(_XFBuildTasksLocation)XSF.Build.Tasks.dll" />
<PropertyGroup>
<SynthesizeLinkMetadata>true</SynthesizeLinkMetadata>
+++ /dev/null
-
-<img src="banner.png" alt="Xamarin.Forms banner" height="145" >
-
-# Xamarin.Forms #
-
-Xamarin.Forms provides a way to quickly build native apps for iOS, Android, Windows and macOS, completely in C#.
-
-Read more about the platform at https://www.xamarin.com/forms.
-
-## Build Status ##
-
-
-
-## Packages ##
-
-Platform/Feature | Package name | Stable | Prerelease | Nightly Feed [Azure](https://aka.ms/xf-ci/index.json) (master branch)
------------------------|-------------------------------------------|-----------------------------|------------------------- |-------------------------|
-Core | `Xamarin.Forms` | [](https://www.nuget.org/packages/Xamarin.Forms/) | [](https://www.nuget.org/packages/Xamarin.Forms/) |
-AppLinks | `Xamarin.Forms.AppLinks` | [](https://www.nuget.org/packages/Xamarin.Forms.AppLinks/) | [](https://www.nuget.org/packages/Xamarin.Forms.AppLinks/) |
-Maps | `Xamarin.Forms.Maps` | [](https://www.nuget.org/packages/Xamarin.Forms.Maps/) | [](https://www.nuget.org/packages/Xamarin.Forms.Maps/) |
-Maps.GTK | `Xamarin.Forms.Maps.GTK` | [](https://www.nuget.org/packages/Xamarin.Forms.Maps.GTK/) | [](https://www.nuget.org/packages/Xamarin.Forms.Maps.GTK/) |
-Maps.WPF | `Xamarin.Forms.Maps.WPF` | [](https://www.nuget.org/packages/Xamarin.Forms.Maps.WPF/) | [](https://www.nuget.org/packages/Xamarin.Forms.Maps.WPF/) |
-Pages | `Xamarin.Forms.Pages` | [](https://www.nuget.org/packages/Xamarin.Forms.Pages/) | [](https://www.nuget.org/packages/Xamarin.Forms.Pages/) |
-Pages.Azure | `Xamarin.Forms.Pages.Azure` | [](https://www.nuget.org/packages/Xamarin.Forms.Pages.Azure/) |[](https://www.nuget.org/packages/Xamarin.Forms.Pages.Azure/) |
-Platform.GTK | `Xamarin.Forms.Platform.GTK` | [](https://www.nuget.org/packages/Xamarin.Forms.Platform.GTK/) |[](https://www.nuget.org/packages/Xamarin.Forms.Platform.GTK/) |
-Platform.WPF | `Xamarin.Forms.Platform.WPF` | [](https://www.nuget.org/packages/Xamarin.Forms.Platform.WPF/) |[](https://www.nuget.org/packages/Xamarin.Forms.Platform.WPF/) |
-Visual.Material | `Xamarin.Forms.Visual.Material` | [](https://www.nuget.org/packages/Xamarin.Forms.Visual.Material/) | [](https://www.nuget.org/packages/Xamarin.Forms.Visual.Material/) |
-
-If you want to use the latest dev build then you should read [this blog post](https://devblogs.microsoft.com/xamarin/try-the-latest-in-xamarin-forms-with-nightly-builds):
-
-- Add the nightly feed to your NuGet sources or add a NuGet.Config to your app (placing it in the same directory where your solution file is) with the following content:
-
- ```xml
- <?xml version="1.0" encoding="utf-8"?>
- <configuration>
- <packageSources>
- <clear />
- <add key="xamarin-ci" value="https://aka.ms/xf-ci/index.json" />
- <add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
- </packageSources>
- </configuration>
- ```
-
- *NOTE: This NuGet.Config should be with your application unless you want nightly packages to potentially start being restored for other apps on the machine.*
-
-- Change your application's dependencies to have a `*` to get the latest version.
-
-## Getting Started ##
-
-### Windows ###
-##### Install Visual Studio 2017+ #####
-
-VS 2017+ is required for developing Xamarin.Forms. If you do not already have it installed, you can download it [here](https://www.visualstudio.com/downloads/download-visual-studio-vs). VS 2017+ Community is completely free. If you are installing VS 2017+ for the first time, select the "Custom" installation type and select the following from the features list to install:
-
-- .NET desktop development - In the `Summary > Optional select .NET Framework 4.7 SDK, .NET Framework 4.7 targeting pack`.
-- Universal Windows Platform Development - In the `Summary > Optional select the Windows 10 Mobile Emulator`.
-- Mobile Development with .NET - In the `Summary > Optional select Xamarin Remoted Simulator, Xamarin SDK Manager, Intel Hardware Accelerated Execution Manager (HAXM)`
-
-The Android 7.0 Nougat API 24 SDK is required for developing Xamarin.Forms. It can be installed by using the [Xamarin Android SDK Manager](https://docs.microsoft.com/xamarin/android/get-started/installation/android-sdk).
-
-We also recommend installing [Xamarin Android Device Manager](https://developer.xamarin.com/guides/android/getting_started/installation/android-emulator/xamarin-device-manager/) This will use the HAXM tools installed above and allow you to configure Android Virtual Devices (AVDs) that emulate Android devices.
-If you already have VS 2017+ installed, you can verify that these features are installed by modifying the VS 2017+ installation via the Visual Studio Installer.
-
-### Mac ###
-#### Install Visual Studio for Mac 2019 ####
-
-If you do not already have it installed, instructions to download and setup can be found [here](https://docs.microsoft.com/en-us/visualstudio/mac/installation?view=vsmac-2017).
-
-Because of current Multi-Targeting limitations with Visual Studio for Mac you will need to manually build/restore some projects before you are able to work on the Xamarin Forms solution.
-
-Here are a few different options we've put together to help make this process easier
-- Branches 3.5+ come with a Cake script target that you can use to build and open VSMac
-```sh
-./build.sh --target vsmac
-```
-- When working on an earlier branch that does not have the cake scripts then you can use the following [build.sh] script(https://gist.github.com/PureWeen/92c1e1aff0c257c3decf0bcb8d6e9296)
-
-- If you don't want to run any scripts then
- - Open Xamarin.Forms.sln
- - Wait for VSMAC to finish restoring all projects
- - from the command line run:
- - `msbuild Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj`
- - Now you should be able to run and deploy everything. The only reason you would need to do this process again is if you clean the solution folder or delete the bin/obj folders that are part of the `Xamarin.Forms.Build.Tasks.csproj`
-
-If you are on Visual Studio for Mac 2017 you will need to turn off automatic package restore (Visual Studio => Preferences => Nuget => General => uncheck the Package Restore box) before working on the Xamarin.Forms solution. This step is no longer needed with Visual Studio for Mac 2019
-
-##### Solution Configuration #####
-
-Upon opening the Xamarin.Forms solution, you will find that there are a number of errors and warnings under the Error List pane; you can resolve this by changing the filter of `Build + IntelliSense` to `Build Only`. At this point, you should be able to successfully build the solution.
-
-By default, the `Xamarin.Forms.Controls` project does not have a configuration for various API keys to access certain features on each platform (e.g. maps). When building the solution the first time, a `controlgallery.config` file will be generated inside that project, which looks like this:
-
- UWPMapsAuthKey:
-
-You will have to obtain your own API keys for each of these services, inserted directly after the identifier (e.g. `UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz`). You can find out how to obtain each of these as follows:
-
-- `UWPMapsAuthKey` at https://microsoft.com/maps/create-a-bing-maps-key.aspx
-
-Due to the way that Android works, the maps API key cannot be injected at runtime. As a result, you will have to add this key to the `MapsKey.cs` file under `Xamarin.Forms.ControlGallery.Android/Properties`:
-
- [assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]
-
-You can find out how to obtain a Google Maps API key [here](https://developer.xamarin.com/guides/android/platform_features/maps_and_location/maps/obtaining_a_google_maps_api_key/).
-
-##### Build from the Command line #####
-
-Make sure you have nuget.exe 4.0 or above and the latest dotnet core sdk (2.0.3). On macOS you should specify the platform in the msbuild command (`/p:Platform=iPhoneSimulator`)
-
- msbuild /restore Xamarin.Forms.sln
-
-### UI Tests ###
-
-##### Run Android UI Tests #####
-
-Depending on your environment setup, you might need to configure a few things before being able to debug / run UI tests, especially on Windows.
-
-- If you receive an error about ANDROID_HOME, please make sure to set your environment variable to the Android SDK directory (e.g. C:\Program Files (x86)\Android\android-sdk).
-- If you receive an error about JAVA_HOME, please install the latest Java JDK and set your environment variable to the JDK directory (e.g. C:\Program Files\Java\jdk-13).
-- If you receive an error about a missing ApkFile, please generate an APK file for Xamarin.Forms.ControlGallery.Android. The easiest way to do this is to right click the project and select "Deploy". Note that if you rebuild the solution, you might lose the APK and will need to generate it again.
-
-After these steps are taken care of, you should be good to go. You can see all UI tests in Test Explorer, search them for your own convenience, and quickly run individual tests.
-
-##### Run UWP UI Tests #####
-
-To run the UWP UI Tests:
-
-1. Install and run the [Windows Application Driver](https://github.com/Microsoft/WinAppDriver#installing-and-running-windows-application-driver).
-2. Launch the `Xamarin.Forms.ControlGallery.WindowsUniversal` project to install the ControlGallery application onto your system.
-
-You should now be able to run any of the UWP UI Tests.
-
-## Coding Style ##
-
-We follow the style used by the [.NET Foundation](https://github.com/dotnet/corefx/blob/master/Documentation/coding-guidelines/coding-style.md), with a few exceptions:
-
-- We do not use the `private` keyword as it is the default accessibility level in C#.
-- We use hard tabs over spaces. You can change this setting in VS 2015 via `Tools > Options` and navigating to `Text Editor > C#` and selecting the "Keep tabs" radio option. In Visual Studio for Mac it's set via preferences in `Source Code > Code Formatting > C# source code` and disabling the checkbox for `Convert tabs to spaces`.
-- Lines should be limited to a max of 120 characters (or as close as possible within reason). This may be set in Visual Studio for Mac via preferences in `Source Code > Code Formatting > C# source code` and changing the `Desired file width` to `120`.
-
-## Contributing ##
-
-- [How to Contribute](https://github.com/xamarin/Xamarin.Forms/blob/master/.github/CONTRIBUTING.md)
-
-### Reporting Bugs ###
-
-We use [GitHub Issues](https://github.com/xamarin/Xamarin.Forms/issues) to track issues. If at all possible, please submit a [reproduction of your bug](https://gist.github.com/jassmith/92405c300e54a01dcc6d) along with your bug report.
+++ /dev/null
-<!-- BEGIN MICROSOFT SECURITY.MD V0.0.1 BLOCK -->
-
-## Security
-
-Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [many more](https://opensource.microsoft.com/).
-
-If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [definition](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below.
-
-## Reporting Security Issues
-
-**Please do not report security vulnerabilities through public GitHub issues.** Instead, please report them to the Microsoft Security Response Center at [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://technet.microsoft.com/en-us/security/dn606155).
-
-You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
-
-Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
-
- * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
- * Full paths of source file(s) related to the manifestation of the issue
- * The location of the affected source code (tag/branch/commit or direct URL)
- * Any special configuration required to reproduce the issue
- * Step-by-step instructions to reproduce the issue
- * Proof-of-concept or exploit code (if possible)
- * Impact of the issue, including how an attacker might exploit the issue
-
-This information will help us triage your report more quickly.
-
-## Preferred Languages
-
-We prefer all communications to be in English.
-
-## Policy
-
-Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
-
-<!-- END MICROSOFT SECURITY.MD BLOCK -->
md.IsStatic &&
md.IsPublic &&
md.Parameters.Count == 1 &&
- md.Parameters[0].ParameterType.InheritsFromOrImplements(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject"))), module).SingleOrDefault()?.Item1;
+ md.Parameters[0].ParameterType.InheritsFromOrImplements(module.ImportReference(("XSF.Core", "Xamarin.Forms", "BindableObject"))), module).SingleOrDefault()?.Item1;
if (getter == null)
throw new XamlParseException($"Missing a public static Get{bpName} or a public instance property getter for the attached property \"{bpRef.DeclaringType}.{bpRef.Name}\"", iXmlLineInfo);
return getter.ResolveGenericReturnType(declaringTypeRef, module);
md.IsStatic &&
md.IsPublic &&
md.Parameters.Count == 1 &&
- md.Parameters[0].ParameterType.InheritsFromOrImplements(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject"))), module).SingleOrDefault()?.Item1;
+ md.Parameters[0].ParameterType.InheritsFromOrImplements(module.ImportReference(("XSF.Core", "Xamarin.Forms", "BindableObject"))), module).SingleOrDefault()?.Item1;
var attributes = new List<CustomAttribute>();
if (property != null && property.HasCustomAttributes)
yield return Instruction.Create(OpCodes.Ldnull);
yield return Instruction.Create(OpCodes.Ldnull);
yield return Instruction.Create(OpCodes.Ldnull);
- yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Binding"), parameterTypes: new[] {
+ yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms", "Binding"), parameterTypes: new[] {
("mscorlib", "System", "String"),
- ("Xamarin.Forms.Core", "Xamarin.Forms", "BindingMode"),
- ("Xamarin.Forms.Core", "Xamarin.Forms", "IValueConverter"),
+ ("XSF.Core", "Xamarin.Forms", "BindingMode"),
+ ("XSF.Core", "Xamarin.Forms", "IValueConverter"),
("mscorlib", "System", "Object"),
("mscorlib", "System", "String"),
("mscorlib", "System", "Object")}));
yield return Instruction.Create(OpCodes.Ldc_R8, y);
yield return Instruction.Create(OpCodes.Ldc_R8, w);
yield return Instruction.Create(OpCodes.Ldc_R8, h);
- yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Rectangle"), parameterTypes: new[] {
+ yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms", "Rectangle"), parameterTypes: new[] {
("mscorlib", "System", "Double"),
("mscorlib", "System", "Double"),
("mscorlib", "System", "Double"),
yield return Instruction.Create(OpCodes.Ldc_R8, color.B);
yield return Instruction.Create(OpCodes.Ldc_R8, color.A);
- yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Color"), parameterTypes: new[] {
+ yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms", "Color"), parameterTypes: new[] {
("mscorlib", "System", "Double"),
("mscorlib", "System", "Double"),
("mscorlib", "System", "Double"),
var color = parts [parts.Length - 1];
if (color == "lightgrey")
color = "lightgray";
- var fieldReference = module.ImportFieldReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Color"),
+ var fieldReference = module.ImportFieldReference(("XSF.Core", "Xamarin.Forms", "Color"),
color,
isStatic: true,
caseSensitive: false);
yield return Instruction.Create(OpCodes.Ldsfld, fieldReference);
yield break;
}
- var propertyGetterReference = module.ImportPropertyGetterReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Color"),
+ var propertyGetterReference = module.ImportPropertyGetterReference(("XSF.Core", "Xamarin.Forms", "Color"),
color,
isStatic: true,
caseSensitive: false);
throw new XamlParseException($"Cannot convert \"{value}\" into {typeof(Constraint)}", node);
yield return Create(Ldc_R8, size);
- yield return Create(Call, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Constraint"),
+ yield return Create(Call, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms", "Constraint"),
methodName: "Constant",
parameterTypes: new[] { ("mscorlib", "System", "Double") },
isStatic: true));
if (parts.Length == 1 || (parts.Length == 2 && parts [0] == "LayoutOptions")) {
var options = parts [parts.Length - 1];
- var fieldReference = module.ImportFieldReference(("Xamarin.Forms.Core", "Xamarin.Forms", "LayoutOptions"),
+ var fieldReference = module.ImportFieldReference(("XSF.Core", "Xamarin.Forms", "LayoutOptions"),
fieldName: options,
isStatic: true);
if (fieldReference != null) {
if (resourceId == null)
throw new XamlParseException($"Resource '{value}' not found.", node);
- var resourceDictionaryType = ("Xamarin.Forms.Core", "Xamarin.Forms", "ResourceDictionary");
+ var resourceDictionaryType = ("XSF.Core", "Xamarin.Forms", "ResourceDictionary");
//abuse the converter, produce some side effect, but leave the stack untouched
//public void SetAndLoadSource(Uri value, string resourceID, Assembly assembly, System.Xml.IXmlLineInfo lineInfo)
internal static string GetPathForType(ModuleDefinition module, TypeReference type)
{
foreach (var ca in type.Module.GetCustomAttributes()) {
- if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
+ if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
continue;
if (!TypeRefComparer.Default.Equals(ca.ConstructorArguments[2].Value as TypeReference, type))
continue;
yield return Instruction.Create(OpCodes.Ldc_R8, y);
yield return Instruction.Create(OpCodes.Ldc_R8, w);
yield return Instruction.Create(OpCodes.Ldc_R8, h);
- yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Rectangle"), parameterTypes: new[] {
+ yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms", "Rectangle"), parameterTypes: new[] {
("mscorlib", "System", "Double"),
("mscorlib", "System", "Double"),
("mscorlib", "System", "Double"),
{
foreach (var d in args)
yield return Instruction.Create(OpCodes.Ldc_R8, d);
- yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Thickness"), parameterTypes: args.Select(a => ("mscorlib", "System", "Double")).ToArray()));
+ yield return Instruction.Create(OpCodes.Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms", "Thickness"), parameterTypes: args.Select(a => ("mscorlib", "System", "Double")).ToArray()));
}
}
{
public IEnumerable<Instruction> ProvideValue(IElementNode node, ModuleDefinition module, ILContext context, out TypeReference typeRef)
{
- typeRef = module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "DataTemplate"));
+ typeRef = module.ImportReference(("XSF.Core", "Xamarin.Forms", "DataTemplate"));
var name = new XmlName("", "TypeName");
if (!node.Properties.TryGetValue(name, out INode typeNameNode) && node.CollectionItems.Any())
yield break;
var value = ((string)((ValueNode)valueNode).Value);
- var setterType = ("Xamarin.Forms.Core", "Xamarin.Forms", "Setter");
+ var setterType = ("XSF.Core", "Xamarin.Forms", "Setter");
//push the setter
foreach (var instruction in vardefref.VariableDefinition.LoadAs(module.GetTypeDefinition(setterType), module))
if (styleNode != null) {
var style = (styleNode as ValueNode).Value as string;
yield return Create(Ldstr, style);
- yield return Create(Call, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms.StyleSheets", "StyleSheet"),
+ yield return Create(Call, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms.StyleSheets", "StyleSheet"),
methodName: "FromString",
parameterTypes: new[] { ("mscorlib", "System", "String") },
isStatic: true));
foreach (var instruction in node.PushXmlLineInfo(context))
yield return instruction; //lineinfo
- yield return Create(Call, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms.StyleSheets", "StyleSheet"),
+ yield return Create(Call, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms.StyleSheets", "StyleSheet"),
methodName: "FromResource",
parameterTypes: new[] { ("mscorlib", "System", "String"), ("mscorlib", "System.Reflection", "Assembly"), ("System.Xml.ReaderWriter", "System.Xml", "IXmlLineInfo") },
isStatic: true));
}
//the variable is of type `object`. fix that
- var vardef = new VariableDefinition(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.StyleSheets", "StyleSheet")));
+ var vardef = new VariableDefinition(module.ImportReference(("XSF.Core", "Xamarin.Forms.StyleSheets", "StyleSheet")));
yield return Create(Stloc, vardef);
vardefref.VariableDefinition = vardef;
}
//if this is a MarkupExtension that can be compiled directly, compile and returns the value
var compiledMarkupExtensionName = typeref
- .GetCustomAttribute(Module, ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "ProvideCompiledAttribute"))
+ .GetCustomAttribute(Module, ("XSF.Core", "Xamarin.Forms.Xaml", "ProvideCompiledAttribute"))
?.ConstructorArguments?[0].Value as string;
Type compiledMarkupExtensionType;
ICompiledMarkupExtension markupProvider;
Context.IL.Emit(OpCodes.Stloc, vardef);
} else if (!typedef.IsValueType) {
var ctor = Module.ImportReference(ctorinforef);
-// IL_0001: newobj instance void class [Xamarin.Forms.Core]Xamarin.Forms.Button::'.ctor'()
+// IL_0001: newobj instance void class [XSF.Core]Xamarin.Forms.Button::'.ctor'()
// IL_0006: stloc.0
Context.IL.Emit(OpCodes.Newobj, ctor);
Context.IL.Emit(OpCodes.Stloc, vardef);
}
// IL_0000: ldarg.0
-// IL_0001: callvirt instance void class [Xamarin.Forms.Core]Xamarin.Forms.ContentPage::'.ctor'()
+// IL_0001: callvirt instance void class [XSF.Core]Xamarin.Forms.ContentPage::'.ctor'()
//
// IL_0006: nop
// IL_0007: ldarg.1
//If there's a [TypeConverter], use it
if (typeConverter != null && str != null) {
- var typeConvAttribute = typeConverter.GetCustomAttribute(module, ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "TypeConversionAttribute"));
+ var typeConvAttribute = typeConverter.GetCustomAttribute(module, ("XSF.Core", "Xamarin.Forms.Xaml", "TypeConversionAttribute"));
if (typeConvAttribute == null) //trust the unattributed TypeConverter
return true;
var toType = typeConvAttribute.ConstructorArguments.First().Value as TypeReference;
var str = (string)node.Value;
//If the TypeConverter has a ProvideCompiledAttribute that can be resolved, shortcut this
Type compiledConverterType;
- if (typeConverter?.GetCustomAttribute(module, ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "ProvideCompiledAttribute"))?.ConstructorArguments?.First().Value is string compiledConverterName && (compiledConverterType = Type.GetType (compiledConverterName)) != null) {
+ if (typeConverter?.GetCustomAttribute(module, ("XSF.Core", "Xamarin.Forms.Xaml", "ProvideCompiledAttribute"))?.ConstructorArguments?.First().Value is string compiledConverterName && (compiledConverterType = Type.GetType (compiledConverterName)) != null) {
var compiledConverter = Activator.CreateInstance (compiledConverterType);
var converter = typeof(ICompiledTypeConverter).GetMethods ().FirstOrDefault (md => md.Name == "ConvertFromString");
IEnumerable<Instruction> instructions;
//If there's a [TypeConverter], use it
if (typeConverter != null) {
- var isExtendedConverter = typeConverter.ImplementsInterface(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "IExtendedTypeConverter")));
+ var isExtendedConverter = typeConverter.ImplementsInterface(module.ImportReference(("XSF.Core", "Xamarin.Forms", "IExtendedTypeConverter")));
var typeConverterCtorRef = module.ImportCtorReference(typeConverter, paramCount: 0);
var convertFromInvariantStringDefinition = isExtendedConverter
- ? module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "IExtendedTypeConverter"))
+ ? module.ImportReference(("XSF.Core", "Xamarin.Forms", "IExtendedTypeConverter"))
.ResolveCached()
.Methods.FirstOrDefault(md => md.Name == "ConvertFromInvariantString" && md.Parameters.Count == 2)
: typeConverter.ResolveCached()
if (xmlLineInfo.HasLineInfo()) {
yield return Create(Ldc_I4, xmlLineInfo.LineNumber);
yield return Create(Ldc_I4, xmlLineInfo.LinePosition);
- ctor = module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "XmlLineInfo"), parameterTypes: new[] {
+ ctor = module.ImportCtorReference(("XSF.Core", "Xamarin.Forms.Xaml", "XmlLineInfo"), parameterTypes: new[] {
("mscorlib", "System", "Int32"),
("mscorlib", "System", "Int32"),
});
}
else
- ctor = module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "XmlLineInfo"), parameterTypes: null);
+ ctor = module.ImportCtorReference(("XSF.Core", "Xamarin.Forms.Xaml", "XmlLineInfo"), parameterTypes: null);
yield return Create(Newobj, ctor);
}
yield break;
#endif
- var addService = module.ImportMethodReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlServiceProvider"),
+ var addService = module.ImportMethodReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlServiceProvider"),
methodName: "Add",
parameterTypes: new[] {
("mscorlib", "System", "Type"),
("mscorlib", "System", "Object"),
});
- yield return Create(Newobj, module.ImportCtorReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlServiceProvider"), parameterTypes: null));
+ yield return Create(Newobj, module.ImportCtorReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlServiceProvider"), parameterTypes: null));
//Add a SimpleValueTargetProvider and register it as IProvideValueTarget and IReferenceProvider
var pushParentIl = node.PushParentObjectsArray(context).ToList();
if (pushParentIl[pushParentIl.Count - 1].OpCode != Ldnull) {
yield return Create(Dup); //Keep the serviceProvider on the stack
- yield return Create(Ldtoken, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IProvideValueTarget")));
+ yield return Create(Ldtoken, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "IProvideValueTarget")));
yield return Create(Call, module.ImportMethodReference(("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
foreach (var instruction in pushParentIl)
else
yield return Create(Ldnull);
- yield return Create(Newobj, module.ImportCtorReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "SimpleValueTargetProvider"), paramCount: 3));
+ yield return Create(Newobj, module.ImportCtorReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "SimpleValueTargetProvider"), paramCount: 3));
//store the provider so we can register it again with a different key
yield return Create(Dup);
var refProvider = new VariableDefinition(module.ImportReference(("mscorlib", "System", "Object")));
yield return Create(Callvirt, addService);
yield return Create(Dup); //Keep the serviceProvider on the stack
- yield return Create(Ldtoken, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IReferenceProvider")));
+ yield return Create(Ldtoken, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "IReferenceProvider")));
yield return Create(Call, module.ImportMethodReference(("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
yield return Create(Ldloc, refProvider);
yield return Create(Callvirt, addService);
//Add a XamlTypeResolver
if (node.NamespaceResolver != null) {
yield return Create(Dup); //Duplicate the serviceProvider
- yield return Create(Ldtoken, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IXamlTypeResolver")));
+ yield return Create(Ldtoken, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "IXamlTypeResolver")));
yield return Create(Call, module.ImportMethodReference(("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
- yield return Create(Newobj, module.ImportCtorReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "XmlNamespaceResolver"), parameterTypes: null));
+ yield return Create(Newobj, module.ImportCtorReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "XmlNamespaceResolver"), parameterTypes: null));
foreach (var kvp in node.NamespaceResolver.GetNamespacesInScope(XmlNamespaceScope.ExcludeXml)) {
yield return Create(Dup); //dup the resolver
yield return Create(Ldstr, kvp.Key);
yield return Create(Ldstr, kvp.Value);
- yield return Create(Callvirt, module.ImportMethodReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "XmlNamespaceResolver"),
+ yield return Create(Callvirt, module.ImportMethodReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "XmlNamespaceResolver"),
methodName: "Add",
parameterTypes: new[] {
("mscorlib", "System", "String"),
yield return Create(Call, module.ImportMethodReference(("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
yield return Create(Call, module.ImportMethodReference(("mscorlib", "System.Reflection", "IntrospectionExtensions"), methodName: "GetTypeInfo", parameterTypes: new[] { ("mscorlib", "System", "Type") }, isStatic: true));
yield return Create(Callvirt, module.ImportPropertyGetterReference(("mscorlib", "System.Reflection", "TypeInfo"), propertyName: "Assembly", flatten: true));
- yield return Create(Newobj, module.ImportCtorReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlTypeResolver"), paramCount: 2));
+ yield return Create(Newobj, module.ImportCtorReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlTypeResolver"), paramCount: 2));
yield return Create(Callvirt, addService);
}
if (node is IXmlLineInfo) {
yield return Create(Dup); //Duplicate the serviceProvider
- yield return Create(Ldtoken, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IXmlLineInfoProvider")));
+ yield return Create(Ldtoken, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "IXmlLineInfoProvider")));
yield return Create(Call, module.ImportMethodReference(("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
foreach (var instruction in node.PushXmlLineInfo(context))
yield return instruction;
- yield return Create(Newobj, module.ImportCtorReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "XmlLineInfoProvider"), parameterTypes: new[] { ("System.Xml.ReaderWriter", "System.Xml", "IXmlLineInfo") }));
+ yield return Create(Newobj, module.ImportCtorReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "XmlLineInfoProvider"), parameterTypes: new[] { ("System.Xml.ReaderWriter", "System.Xml", "IXmlLineInfo") }));
yield return Create(Callvirt, addService);
}
}
namescopeVarDef = Context.Scopes[parentNode].Item1;
namesInNamescope = Context.Scopes[parentNode].Item2;
}
- if (setNameScope && Context.Variables[node].VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("Xamarin.Forms.Core","Xamarin.Forms","BindableObject"))))
+ if (setNameScope && Context.Variables[node].VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("XSF.Core","Xamarin.Forms","BindableObject"))))
SetNameScope(node, namescopeVarDef);
Context.Scopes[node] = new Tuple<VariableDefinition, IList<string>>(namescopeVarDef, namesInNamescope);
}
{
var namescopeVarDef = GetOrCreateNameScope(node);
IList<string> namesInNamescope = new List<string>();
- if (Context.Variables[node].VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject"))))
+ if (Context.Variables[node].VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("XSF.Core", "Xamarin.Forms", "BindableObject"))))
SetNameScope(node, namescopeVarDef);
Context.Scopes[node] = new System.Tuple<VariableDefinition, IList<string>>(namescopeVarDef, namesInNamescope);
}
VariableDefinition GetOrCreateNameScope(ElementNode node)
{
var module = Context.Body.Method.Module;
- var vardef = new VariableDefinition(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "NameScope")));
+ var vardef = new VariableDefinition(module.ImportReference(("XSF.Core", "Xamarin.Forms.Internals", "NameScope")));
Context.Body.Variables.Add(vardef);
var stloc = Instruction.Create(OpCodes.Stloc, vardef);
- if (Context.Variables[node].VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject")))) {
- var namescoperef = ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject");
+ if (Context.Variables[node].VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("XSF.Core", "Xamarin.Forms", "BindableObject")))) {
+ var namescoperef = ("XSF.Core", "Xamarin.Forms", "BindableObject");
Context.IL.Append(Context.Variables[node].LoadAs(module.GetTypeDefinition(namescoperef), module));
- Context.IL.Emit(OpCodes.Call, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "NameScope"),
+ Context.IL.Emit(OpCodes.Call, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms.Internals", "NameScope"),
methodName: "GetNameScope",
parameterTypes: new[] { namescoperef },
isStatic: true));
Context.IL.Emit(OpCodes.Pop);
}
- Context.IL.Emit(OpCodes.Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "NameScope"), parameterTypes: null));
+ Context.IL.Emit(OpCodes.Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms.Internals", "NameScope"), parameterTypes: null));
Context.IL.Append(stloc);
return vardef;
VariableDefinition CreateNamescope()
{
var module = Context.Body.Method.Module;
- var vardef = new VariableDefinition(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "NameScope")));
+ var vardef = new VariableDefinition(module.ImportReference(("XSF.Core", "Xamarin.Forms.Internals", "NameScope")));
Context.Body.Variables.Add(vardef);
- Context.IL.Emit(OpCodes.Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "NameScope"), parameterTypes: null));
+ Context.IL.Emit(OpCodes.Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms.Internals", "NameScope"), parameterTypes: null));
Context.IL.Emit(OpCodes.Stloc, vardef);
return vardef;
}
{
var module = Context.Body.Method.Module;
var parameterTypes = new[] {
- ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject"),
- ("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "INameScope"),
+ ("XSF.Core", "Xamarin.Forms", "BindableObject"),
+ ("XSF.Core", "Xamarin.Forms.Internals", "INameScope"),
};
Context.IL.Append(Context.Variables[node].LoadAs(module.GetTypeDefinition(parameterTypes[0]), module));
Context.IL.Append(ns.LoadAs(module.GetTypeDefinition(parameterTypes[1]), module));
- Context.IL.Emit(OpCodes.Call, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "NameScope"),
+ Context.IL.Emit(OpCodes.Call, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms.Internals", "NameScope"),
methodName: "SetNameScope",
parameterTypes: parameterTypes,
isStatic: true));
namesInNamescope.Add(str);
var module = Context.Body.Method.Module;
- var namescopeType = ("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "INameScope");
+ var namescopeType = ("XSF.Core", "Xamarin.Forms.Internals", "INameScope");
Context.IL.Append(namescopeVarDef.LoadAs(module.GetTypeDefinition(namescopeType), module));
Context.IL.Emit(OpCodes.Ldstr, str);
Context.IL.Append(element.LoadAs(module.TypeSystem.Object, module));
void SetStyleId(string str, VariableDefinition element)
{
- if (!element.VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "Element"))))
+ if (!element.VariableType.InheritsFromOrImplements(Context.Body.Method.Module.ImportReference(("XSF.Core", "Xamarin.Forms", "Element"))))
return;
var module = Context.Body.Method.Module;
- var elementType = ("Xamarin.Forms.Core", "Xamarin.Forms", "Element");
+ var elementType = ("XSF.Core", "Xamarin.Forms", "Element");
var elementTypeRef = module.GetTypeDefinition(elementType);
var nop = Instruction.Create(OpCodes.Nop);
string contentProperty;
if (CanAddToResourceDictionary(parentVar, parentVar.VariableType, node, node, Context)) {
- Context.IL.Append(parentVar.LoadAs(Module.GetTypeDefinition(("Xamarin.Forms.Core", "Xamarin.Forms", "ResourceDictionary")), Module));
+ Context.IL.Append(parentVar.LoadAs(Module.GetTypeDefinition(("XSF.Core", "Xamarin.Forms", "ResourceDictionary")), Module));
Context.IL.Append(AddToResourceDictionary(node, node, Context));
}
// Collection element, implicit content, or implicit collection element.
else if (vardefref.VariableDefinition.VariableType.ImplementsGenericInterface("Xamarin.Forms.Xaml.IMarkupExtension`1",
out markupExtension, out genericArguments))
{
- var acceptEmptyServiceProvider = vardefref.VariableDefinition.VariableType.GetCustomAttribute(module, ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "AcceptEmptyServiceProviderAttribute")) != null;
+ var acceptEmptyServiceProvider = vardefref.VariableDefinition.VariableType.GetCustomAttribute(module, ("XSF.Core", "Xamarin.Forms.Xaml", "AcceptEmptyServiceProviderAttribute")) != null;
if ( vardefref.VariableDefinition.VariableType.FullName == "Xamarin.Forms.Xaml.BindingExtension"
&& (node.Properties == null || !node.Properties.ContainsKey(new XmlName("", "Source"))) //do not compile bindings if Source is set
&& bpRef != null //do not compile bindings if we're not gonna SetBinding
yield return Instruction.Create(OpCodes.Callvirt, provideValue);
yield return Instruction.Create(OpCodes.Stloc, vardefref.VariableDefinition);
}
- else if (context.Variables[node].VariableType.ImplementsInterface(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IMarkupExtension"))))
+ else if (context.Variables[node].VariableType.ImplementsInterface(module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "IMarkupExtension"))))
{
- var acceptEmptyServiceProvider = context.Variables[node].VariableType.GetCustomAttribute(module, ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "AcceptEmptyServiceProviderAttribute")) != null;
- var markupExtensionType = ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IMarkupExtension");
+ var acceptEmptyServiceProvider = context.Variables[node].VariableType.GetCustomAttribute(module, ("XSF.Core", "Xamarin.Forms.Xaml", "AcceptEmptyServiceProviderAttribute")) != null;
+ var markupExtensionType = ("XSF.Core", "Xamarin.Forms.Xaml", "IMarkupExtension");
vardefref.VariableDefinition = new VariableDefinition(module.TypeSystem.Object);
foreach (var instruction in context.Variables[node].LoadAs(module.GetTypeDefinition(markupExtensionType), module))
yield return instruction;
parameterTypes: new[] { ("System.ComponentModel", "System", "IServiceProvider") }));
yield return Create(Stloc, vardefref.VariableDefinition);
}
- else if (context.Variables[node].VariableType.ImplementsInterface(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IValueProvider"))))
+ else if (context.Variables[node].VariableType.ImplementsInterface(module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "IValueProvider"))))
{
- var acceptEmptyServiceProvider = context.Variables[node].VariableType.GetCustomAttribute(module, ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "AcceptEmptyServiceProviderAttribute")) != null;
+ var acceptEmptyServiceProvider = context.Variables[node].VariableType.GetCustomAttribute(module, ("XSF.Core", "Xamarin.Forms.Xaml", "AcceptEmptyServiceProviderAttribute")) != null;
var valueProviderType = context.Variables[node].VariableType;
//If the IValueProvider has a ProvideCompiledAttribute that can be resolved, shortcut this
- var compiledValueProviderName = valueProviderType?.GetCustomAttribute(module, ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "ProvideCompiledAttribute"))?.ConstructorArguments?[0].Value as string;
+ var compiledValueProviderName = valueProviderType?.GetCustomAttribute(module, ("XSF.Core", "Xamarin.Forms.Xaml", "ProvideCompiledAttribute"))?.ConstructorArguments?[0].Value as string;
Type compiledValueProviderType;
if (compiledValueProviderName != null && (compiledValueProviderType = Type.GetType(compiledValueProviderName)) != null) {
var compiledValueProvider = Activator.CreateInstance(compiledValueProviderType);
yield break;
}
- var valueProviderInterface = ("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "IValueProvider");
+ var valueProviderInterface = ("XSF.Core", "Xamarin.Forms.Xaml", "IValueProvider");
vardefref.VariableDefinition = new VariableDefinition(module.TypeSystem.Object);
foreach (var instruction in context.Variables[node].LoadAs(module.GetTypeDefinition(valueProviderInterface), module))
yield return instruction;
var actionRef = module.ImportReference(module.ImportReference(("mscorlib", "System", "Action`2")).MakeGenericInstanceType(new [] { tSourceRef, tPropertyRef }));
var funcObjRef = module.ImportReference(module.ImportReference(("mscorlib", "System", "Func`2")).MakeGenericInstanceType(new [] { tSourceRef, module.TypeSystem.Object }));
var tupleRef = module.ImportReference(module.ImportReference(("mscorlib", "System", "Tuple`2")).MakeGenericInstanceType(new [] { funcObjRef, module.TypeSystem.String}));
- var typedBindingRef = module.ImportReference(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "TypedBinding`2")).MakeGenericInstanceType(new [] { tSourceRef, tPropertyRef}));
+ var typedBindingRef = module.ImportReference(module.ImportReference(("XSF.Core", "Xamarin.Forms.Internals", "TypedBinding`2")).MakeGenericInstanceType(new [] { tSourceRef, tPropertyRef}));
//FIXME: make sure the non-deprecated one is used
var ctorInfo = module.ImportReference(typedBindingRef.ResolveCached().Methods.FirstOrDefault(md =>
&& !md.HasCustomAttributes (module.ImportReference(("mscorlib", "System", "ObsoleteAttribute")))));
var ctorinforef = ctorInfo.MakeGeneric(typedBindingRef, funcRef, actionRef, tupleRef);
- var bindingExtensionType = ("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml", "BindingExtension");
+ var bindingExtensionType = ("XSF.Xaml", "Xamarin.Forms.Xaml", "BindingExtension");
foreach (var instruction in bindingExt.LoadAs(module.GetTypeDefinition(bindingExtensionType), module))
yield return instruction;
yield return Create(Ldc_I4, lineInfo.LineNumber); //lineNumber
yield return Create(Ldc_I4, lineInfo.LinePosition); //linePosition
- yield return Create(Call, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml.Diagnostics", "VisualDiagnostics"),
+ yield return Create(Call, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms.Xaml.Diagnostics", "VisualDiagnostics"),
methodName: "RegisterSourceInfo",
parameterTypes: new[] {
("mscorlib", "System", "Object"),
static IEnumerable<Instruction> SetDynamicResource(VariableDefinition parent, FieldReference bpRef, IElementNode elementNode, IXmlLineInfo iXmlLineInfo, ILContext context)
{
var module = context.Body.Method.Module;
- var dynamicResourceType = ("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "DynamicResource");
- var dynamicResourceHandlerType = ("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "IDynamicResourceHandler");
+ var dynamicResourceType = ("XSF.Core", "Xamarin.Forms.Internals", "DynamicResource");
+ var dynamicResourceHandlerType = ("XSF.Core", "Xamarin.Forms.Internals", "IDynamicResourceHandler");
foreach (var instruction in parent.LoadAs(module.GetTypeDefinition(dynamicResourceHandlerType), module))
yield return instruction;
yield return Create(Callvirt, module.ImportMethodReference(dynamicResourceHandlerType,
methodName: "SetDynamicResource",
parameterTypes: new[] {
- ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableProperty"),
+ ("XSF.Core", "Xamarin.Forms", "BindableProperty"),
("mscorlib", "System", "String"),
}));
}
if (!context.Variables.TryGetValue(valueNode as IElementNode, out VariableDefinition varValue))
return false;
- var implicitOperator = varValue.VariableType.GetImplicitOperatorTo(module.ImportReference(("Xamarin.Forms.Core","Xamarin.Forms","BindingBase")), module);
+ var implicitOperator = varValue.VariableType.GetImplicitOperatorTo(module.ImportReference(("XSF.Core","Xamarin.Forms","BindingBase")), module);
if (implicitOperator != null)
return true;
- return varValue.VariableType.InheritsFromOrImplements(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "BindingBase")));
+ return varValue.VariableType.InheritsFromOrImplements(module.ImportReference(("XSF.Core", "Xamarin.Forms", "BindingBase")));
}
static IEnumerable<Instruction> SetBinding(VariableDefinition parent, FieldReference bpRef, IElementNode elementNode, IXmlLineInfo iXmlLineInfo, ILContext context)
{
var module = context.Body.Method.Module;
- var bindableObjectType = ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject");
+ var bindableObjectType = ("XSF.Core", "Xamarin.Forms", "BindableObject");
var parameterTypes = new[] {
- ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableProperty"),
- ("Xamarin.Forms.Core", "Xamarin.Forms", "BindingBase"),
+ ("XSF.Core", "Xamarin.Forms", "BindableProperty"),
+ ("XSF.Core", "Xamarin.Forms", "BindingBase"),
};
//TODO: check if parent is a BP
yield return Create(Ldsfld, bpRef);
foreach (var instruction in context.Variables [elementNode].LoadAs(module.GetTypeDefinition(parameterTypes[1]), module))
yield return instruction;
- yield return Create(Callvirt, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject"),
+ yield return Create(Callvirt, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms", "BindableObject"),
methodName: "SetBinding",
parameterTypes: parameterTypes));
}
if (bpRef == null)
return false;
- if (!parent.VariableType.InheritsFromOrImplements(module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject"))))
+ if (!parent.VariableType.InheritsFromOrImplements(module.ImportReference(("XSF.Core", "Xamarin.Forms", "BindableObject"))))
return false;
propertyType = bpRef.GetBindablePropertyType(iXmlLineInfo, module);
var valueNode = node as ValueNode;
var elementNode = node as IElementNode;
var module = context.Body.Method.Module;
- var bindableObjectType = ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject");
+ var bindableObjectType = ("XSF.Core", "Xamarin.Forms", "BindableObject");
// IL_0007: ldloc.0
// IL_0008: ldsfld class [Xamarin.Forms.Core]Xamarin.Forms.BindableProperty [Xamarin.Forms.Core]Xamarin.Forms.Label::TextProperty
yield return Create(Callvirt, module.ImportMethodReference(bindableObjectType,
methodName: "SetValue",
parameterTypes: new[] {
- ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableProperty"),
+ ("XSF.Core", "Xamarin.Forms", "BindableProperty"),
("mscorlib", "System", "Object"),
}));
}
static IEnumerable<Instruction> GetValue(VariableDefinition parent, FieldReference bpRef, IXmlLineInfo iXmlLineInfo, ILContext context)
{
var module = context.Body.Method.Module;
- var bindableObjectType = ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableObject");
+ var bindableObjectType = ("XSF.Core", "Xamarin.Forms", "BindableObject");
foreach (var instruction in parent.LoadAs(module.GetTypeDefinition(bindableObjectType), module))
yield return instruction;
yield return Create(Ldsfld, bpRef);
yield return Create(Callvirt, module.ImportMethodReference(bindableObjectType,
methodName: "GetValue",
- parameterTypes: new[] { ("Xamarin.Forms.Core", "Xamarin.Forms", "BindableProperty")}));
+ parameterTypes: new[] { ("XSF.Core", "Xamarin.Forms", "BindableProperty")}));
}
static bool CanSet(VariableDefinition parent, string localName, INode node, ILContext context)
//is there a RD.Add() overrides that accepts this ?
var nodeTypeRef = context.Variables[node].VariableType;
var module = context.Body.Method.Module;
- if (module.ImportMethodReference(module.GetTypeDefinition(("Xamarin.Forms.Core", "Xamarin.Forms", "ResourceDictionary")),
+ if (module.ImportMethodReference(module.GetTypeDefinition(("XSF.Core", "Xamarin.Forms", "ResourceDictionary")),
methodName: "Add",
parameterTypes: new[] { (nodeTypeRef) }) != null)
return true;
yield return Create(Ldstr, (node.Properties[XmlName.xKey] as ValueNode).Value as string);
foreach (var instruction in context.Variables[node].LoadAs(module.TypeSystem.Object, module))
yield return instruction;
- yield return Create(Callvirt, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms", "ResourceDictionary"),
+ yield return Create(Callvirt, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms", "ResourceDictionary"),
methodName: "Add",
parameterTypes: new[] {
("mscorlib", "System", "String"),
var nodeTypeRef = context.Variables[node].VariableType;
yield return Create(Ldloc, context.Variables[node]);
- yield return Create(Callvirt, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms", "ResourceDictionary"),
+ yield return Create(Callvirt, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms", "ResourceDictionary"),
methodName: "Add",
parameterTypes: new[] { (nodeTypeRef.Scope.Name, nodeTypeRef.Namespace, nodeTypeRef.Name) }));
yield break;
IXmlLineInfo xmlLineInfo)
{
var module = parentContext.Module;
- var dataTemplateType = ("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "IDataTemplate");
+ var dataTemplateType = ("XSF.Core", "Xamarin.Forms.Internals", "IDataTemplate");
var parentVar = parentContext.Variables[parentNode];
//Push the DataTemplate to the stack, for setting the template
parentContext.IL.Append(parentVar.LoadAs(module.GetTypeDefinition(dataTemplateType), module));
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <SignAssembly>false</SignAssembly>
+ <_DisableStrongNamer>True</_DisableStrongNamer>
+ <DelaySign>false</DelaySign>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <_DisableStrongNamer Condition=" '$(_DisableStrongNamer)' != 'True' ">False</_DisableStrongNamer>
+ <AssemblyName>XSF.Build.Tasks</AssemblyName>
+ <Description>XSF Build Task</Description>
+ <TargetFrameworks>net46;netstandard2.0</TargetFrameworks>
+ <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
+ <SignAssembly Condition=" '$(_DisableStrongNamer)' != 'True' ">True</SignAssembly>
+ <DisableStrongNamer Condition=" '$(_DisableStrongNamer)' == 'True' ">True</DisableStrongNamer>
+ <DelaySign>true</DelaySign>
+ <AssemblyOriginatorKeyFile>..\xamarin.forms.snk</AssemblyOriginatorKeyFile>
+ <StrongNamerKeyFile>..\xamarin.forms.snk</StrongNamerKeyFile>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Mono.Cecil" Version="0.10.3" />
+ <PackageReference Include="System.CodeDom" Version="4.4.0" Condition="'$(TargetFramework)' == 'netstandard2.0'" />
+ <PackageReference Include="Microsoft.Build" Version="15.8.166" />
+ <PackageReference Include="Microsoft.Build.Framework" Version="15.8.166" />
+ <PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.8.166" />
+ <PackageReference Include="Microsoft.Build.Tasks.Core" Version="15.8.166" />
+ <PackageReference Include="StrongNamer" Version="0.0.8" />
+ <PackageReference Include="System.ValueTuple" Version="4.5.0" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\Xamarin.Forms.Core\XSF.Core.csproj" />
+ <ProjectReference Include="..\Xamarin.Forms.Xaml\XSF.Xaml.csproj" />
+ </ItemGroup>
+
+ <PropertyGroup Condition="'$(SnExe)' == '' And '$(OS)' != 'Windows_NT'">
+ <SnExe>sn</SnExe>
+ </PropertyGroup>
+
+ <Target Name="_SetSnExe" Condition="'$(SnExe)' == '' And '$(OS)' == 'Windows_NT'">
+ <GetFrameworkSdkPath>
+ <Output TaskParameter="Path" PropertyName="WindowsSdkPath" />
+ </GetFrameworkSdkPath>
+ <Exec Command="WHERE /r "$(WindowsSdkPath.TrimEnd('\\'))" sn" ConsoleToMSBuild="true">
+ <Output TaskParameter="ConsoleOutput" PropertyName="SnExe" />
+ </Exec>
+ <PropertyGroup>
+ <SnExe>$([System.Text.RegularExpressions.Regex]::Replace('$(SnExe)', ';.*', ''))</SnExe>
+ </PropertyGroup>
+ </Target>
+
+ <Target Name="_StrongName" AfterTargets="Build" DependsOnTargets="_SetSnExe" Condition="'$(TargetPath)' != ''" Inputs="$(TargetPath)" Outputs="$(IntermediateOutputPath)Sn.stamp">
+ <Exec Command=""$(SnExe)" -R $(TargetPath) ..\xamarin.forms.snk" Condition=" '$(SignAssembly)' == 'true' " />
+ </Target>
+
+ <Target Name="_CopyToNuspecDir" AfterTargets="_StrongName;Build">
+ <ItemGroup>
+ <_CopyItems Include="$(TargetDir)*.dll" />
+ </ItemGroup>
+ <Copy SourceFiles="@(_CopyItems)" DestinationFolder="..\.nuspec\$(TargetFramework)\" ContinueOnError="true" Retries="0" />
+ </Target>
+</Project>
\ No newline at end of file
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <SignAssembly>false</SignAssembly>
- <_DisableStrongNamer>True</_DisableStrongNamer>
- <DelaySign>false</DelaySign>
- </PropertyGroup>
-
- <PropertyGroup>
- <_DisableStrongNamer Condition=" '$(_DisableStrongNamer)' != 'True' ">False</_DisableStrongNamer>
- <AssemblyName>Xamarin.Forms.Build.Tasks</AssemblyName>
- <Description>Xamarin Forms Build Task</Description>
- <TargetFrameworks>net46;netstandard2.0</TargetFrameworks>
- <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
- <SignAssembly Condition=" '$(_DisableStrongNamer)' != 'True' ">True</SignAssembly>
- <DisableStrongNamer Condition=" '$(_DisableStrongNamer)' == 'True' ">True</DisableStrongNamer>
- <DelaySign>true</DelaySign>
- <AssemblyOriginatorKeyFile>..\xamarin.forms.snk</AssemblyOriginatorKeyFile>
- <StrongNamerKeyFile>..\xamarin.forms.snk</StrongNamerKeyFile>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="Mono.Cecil" Version="0.10.3" />
- <PackageReference Include="System.CodeDom" Version="4.4.0" Condition="'$(TargetFramework)' == 'netstandard2.0'" />
- <PackageReference Include="Microsoft.Build" Version="15.8.166" />
- <PackageReference Include="Microsoft.Build.Framework" Version="15.8.166" />
- <PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.8.166" />
- <PackageReference Include="Microsoft.Build.Tasks.Core" Version="15.8.166" />
- <PackageReference Include="StrongNamer" Version="0.0.8" />
- <PackageReference Include="System.ValueTuple" Version="4.5.0" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj" />
- <ProjectReference Include="..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj" />
- </ItemGroup>
-
- <PropertyGroup Condition="'$(SnExe)' == '' And '$(OS)' != 'Windows_NT'">
- <SnExe>sn</SnExe>
- </PropertyGroup>
-
- <Target Name="_SetSnExe" Condition="'$(SnExe)' == '' And '$(OS)' == 'Windows_NT'">
- <GetFrameworkSdkPath>
- <Output TaskParameter="Path" PropertyName="WindowsSdkPath" />
- </GetFrameworkSdkPath>
- <Exec Command="WHERE /r "$(WindowsSdkPath.TrimEnd('\\'))" sn" ConsoleToMSBuild="true">
- <Output TaskParameter="ConsoleOutput" PropertyName="SnExe" />
- </Exec>
- <PropertyGroup>
- <SnExe>$([System.Text.RegularExpressions.Regex]::Replace('$(SnExe)', ';.*', ''))</SnExe>
- </PropertyGroup>
- </Target>
-
- <Target Name="_StrongName" AfterTargets="Build" DependsOnTargets="_SetSnExe" Condition="'$(TargetPath)' != ''" Inputs="$(TargetPath)" Outputs="$(IntermediateOutputPath)Sn.stamp">
- <Exec Command='"$(SnExe)" -R $(TargetPath) ..\xamarin.forms.snk' Condition=" '$(SignAssembly)' == 'true' " />
- </Target>
-
- <Target Name="_CopyToNuspecDir" AfterTargets="_StrongName;Build">
- <ItemGroup>
- <_CopyItems Include="$(TargetDir)*.dll" />
- </ItemGroup>
- <Copy SourceFiles="@(_CopyItems)" DestinationFolder="..\.nuspec\$(TargetFramework)\" ContinueOnError="true" Retries="0" />
- </Target>
-</Project>
\ No newline at end of file
//First using the ResourceLoader
var nop = Instruction.Create(Nop);
- il.Emit(Newobj, module.ImportCtorReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), 0));
+ il.Emit(Newobj, module.ImportCtorReference(("XSF.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), 0));
//AssemblyName
il.Emit(Dup); //dup the RLQ
il.Emit(Call, module.ImportMethodReference(("mscorlib", "System.Reflection", "IntrospectionExtensions"), methodName: "GetTypeInfo", parameterTypes: new[] { ("mscorlib", "System", "Type") }, isStatic: true));
il.Emit(Callvirt, module.ImportPropertyGetterReference(("mscorlib", "System.Reflection", "TypeInfo"), propertyName: "Assembly", flatten: true));
il.Emit(Callvirt, module.ImportMethodReference(("mscorlib", "System.Reflection", "Assembly"), methodName: "GetName", parameterTypes: null));
- il.Emit(Callvirt, module.ImportPropertySetterReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), "AssemblyName"));
+ il.Emit(Callvirt, module.ImportPropertySetterReference(("XSF.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), "AssemblyName"));
//ResourcePath
il.Emit(Dup); //dup the RLQ
il.Emit(Ldstr, resourcePath);
- il.Emit(Callvirt, module.ImportPropertySetterReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), "ResourcePath"));
+ il.Emit(Callvirt, module.ImportPropertySetterReference(("XSF.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), "ResourcePath"));
//Instance
il.Emit(Dup); //dup the RLQ
il.Emit(Ldarg_0); //Instance = this
- il.Emit(Callvirt, module.ImportPropertySetterReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), "Instance"));
+ il.Emit(Callvirt, module.ImportPropertySetterReference(("XSF.Core", "Xamarin.Forms.Internals", "ResourceLoader/ResourceLoadingQuery"), "Instance"));
- il.Emit(Call, module.ImportMethodReference(("Xamarin.Forms.Core", "Xamarin.Forms.Internals", "ResourceLoader"), "CanProvideContentFor", 1, isStatic: true));
+ il.Emit(Call, module.ImportMethodReference(("XSF.Core", "Xamarin.Forms.Internals", "ResourceLoader"), "CanProvideContentFor", 1, isStatic: true));
il.Emit(Brfalse, nop);
il.Emit(Ldarg_0);
il.Emit(Call, initCompRuntime);
//Or using the deprecated XamlLoader
nop = Instruction.Create(Nop);
- var getXamlFileProvider = module.ImportPropertyGetterReference(("Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlLoader"), propertyName: "XamlFileProvider", isStatic: true);
+ var getXamlFileProvider = module.ImportPropertyGetterReference(("XSF.Xaml", "Xamarin.Forms.Xaml.Internals", "XamlLoader"), propertyName: "XamlFileProvider", isStatic: true);
il.Emit(Call, getXamlFileProvider);
il.Emit(Brfalse, nop);
il.Emit(Call, getXamlFileProvider);
{
foreach (var ca in type.Module.GetCustomAttributes())
{
- if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
+ if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
continue;
if (!TypeRefComparer.Default.Equals(ca.ConstructorArguments[2].Value as TypeReference, type))
continue;
{
foreach (var ca in module.GetCustomAttributes())
{
- if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
+ if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
continue;
if (ca.ConstructorArguments[1].Value as string != path)
continue;
static TypeReference GetTypeForResourceId(ModuleDefinition module, string resourceId)
{
foreach (var ca in module.GetCustomAttributes()) {
- if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("Xamarin.Forms.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
+ if (!TypeRefComparer.Default.Equals(ca.AttributeType, module.ImportReference(("XSF.Core", "Xamarin.Forms.Xaml", "XamlResourceIdAttribute"))))
continue;
if (ca.ConstructorArguments[0].Value as string != resourceId)
continue;
[assembly: InternalsVisibleTo("Xamarin.Forms.Core.Design")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Core.UnitTests")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Core.Android.UnitTests")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Xaml")]
+[assembly: InternalsVisibleTo("XSF.Xaml")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Maps")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Maps.iOS")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Maps.iOS.Classic")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Loader")] // Xamarin.Forms.Loader.dll, Xamarin.Forms.Internals.ResourceLoader.ResourceProvider, kzu@microsoft.com
[assembly: InternalsVisibleTo("Xamarin.HotReload.Forms")]
[assembly: InternalsVisibleTo("Xamarin.Forms.UITest.Validator")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Build.Tasks")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform")]
+[assembly: InternalsVisibleTo("XSF.Build.Tasks")]
+[assembly: InternalsVisibleTo("XSF.Platform")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Pages")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Pages.UnitTests")]
[assembly: InternalsVisibleTo("Xamarin.Forms.CarouselView")]
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFrameworks>netstandard2.0;netstandard1.0</TargetFrameworks>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'">
+ </PropertyGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Xamarin.Forms.Platform\XSF.Platform.csproj" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Remove="Internals\Legacy\**" />
+ <EmbeddedResource Remove="Internals\Legacy\**" />
+ <None Remove="Internals\Legacy\**" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.0' ">
+ <Compile Include="Internals\Legacy\**" />
+ <PackageReference Include="System.ComponentModel" Version="4.3.0" />
+ <PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
+ <PackageReference Include="System.ValueTuple" Version="4.5.0" />
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Xaml\Diagnostics\" />
+ </ItemGroup>
+ <Import Project="..\Xamarin.Flex\Xamarin.Flex.projitems" Label="Shared" Condition="Exists('..\Xamarin.Flex\Xamarin.Flex.projitems')" />
+ <UsingTask TaskName="XFCorePostProcessor.Tasks.FixXFCoreAssembly" AssemblyFile="..\XFCorePostProcessor.Tasks\bin\Debug\net461\XFCorePostProcessor.Tasks.dll" />
+ <Target Condition="$(DesignTimeBuild) != true AND $(BuildingProject) == true" AfterTargets="AfterCompile" Name="XFCorePostProcessor" Inputs="$(IntermediateOutputPath)$(TargetFileName)" Outputs="$(IntermediateOutputPath)XFCorePostProcessor.stamp">
+ <Touch Files="$(IntermediateOutputPath)XFCorePostProcessor.stamp" AlwaysCreate="True" />
+ <FixXFCoreAssembly Assembly="$(IntermediateOutputPath)$(TargetFileName)" ReferencePath="@(ReferencePath)" />
+ </Target>
+</Project>
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFrameworks>netstandard2.0;netstandard1.0</TargetFrameworks>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'">
- </PropertyGroup>
- <ItemGroup>
- <ProjectReference Include="..\Xamarin.Forms.Platform\Xamarin.Forms.Platform.csproj" />
- </ItemGroup>
- <ItemGroup>
- <Compile Remove="Internals\Legacy\**" />
- <EmbeddedResource Remove="Internals\Legacy\**" />
- <None Remove="Internals\Legacy\**" />
- </ItemGroup>
- <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.0' ">
- <Compile Include="Internals\Legacy\**" />
- <PackageReference Include="System.ComponentModel" Version="4.3.0" />
- <PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
- <PackageReference Include="System.ValueTuple" Version="4.5.0" />
- </ItemGroup>
- <ItemGroup>
- <Folder Include="Xaml\Diagnostics\" />
- </ItemGroup>
- <Import Project="..\Xamarin.Flex\Xamarin.Flex.projitems" Label="Shared" Condition="Exists('..\Xamarin.Flex\Xamarin.Flex.projitems')" />
- <UsingTask TaskName="XFCorePostProcessor.Tasks.FixXFCoreAssembly" AssemblyFile="..\XFCorePostProcessor.Tasks\bin\Debug\net461\XFCorePostProcessor.Tasks.dll" />
- <Target Condition="$(DesignTimeBuild) != true AND $(BuildingProject) == true" AfterTargets="AfterCompile" Name="XFCorePostProcessor" Inputs="$(IntermediateOutputPath)$(TargetFileName)" Outputs="$(IntermediateOutputPath)XFCorePostProcessor.stamp">
- <Touch Files="$(IntermediateOutputPath)XFCorePostProcessor.stamp" AlwaysCreate="True" />
- <FixXFCoreAssembly Assembly="$(IntermediateOutputPath)$(TargetFileName)" ReferencePath="@(ReferencePath)" />
- </Target>
-</Project>
{
TizenSynchronizationContext.Initialize();
}
-
Elementary.Initialize();
Elementary.ThemeOverlay();
[EditorBrowsable(EditorBrowsableState.Never)]
public static void Preload()
{
- var window = new PreloadedWindow();
Forms.Init();
+ var window = new PreloadedWindow();
+
+ //Elmsharp preload, this should be removed if Elmsharp preload PR is merged in dotnet-launcher.
+ new ElmSharp.Entry(window).Unrealize();
+ new Scroller(window).Unrealize();
+ new Box(window).Unrealize();
+ new ElmSharp.Label(window).Unrealize();
+ new GenList(window).Unrealize();
+ new ElmSharp.Button(window).Unrealize();
+ new Check(window).Unrealize();
+ new Naviframe(window).Unrealize();
+ new ElmSharp.Slider(window).Unrealize();
+ new Spinner(window).Unrealize();
+ new ElmSharp.ProgressBar(window).Unrealize();
+ new GestureLayer(window).Unrealize();
+ new Polygon(window).Unrealize();
+ new ElmSharp.Image(window).Unrealize();
+ window.BackButtonPressed += DummyHandler;
+ window.BackButtonPressed -= DummyHandler;
+
var locale = TSystemSetting.LocaleLanguage;
- TSystemSetting.LocaleLanguageChanged += (s, e) => { };
+ TSystemSetting.LocaleLanguageChanged += DummyHandler;
+ TSystemSetting.LocaleLanguageChanged -= DummyHandler;
+ void DummyHandler(object sender, System.EventArgs e){ }
var types = new[]
{
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <Description>Tizen Backend for Xamarin.Forms</Description>
+ </PropertyGroup>
+ <PropertyGroup>
+ <TargetFramework>tizen40</TargetFramework>
+ <TargetFrameworkIdentifier>Tizen</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ </PropertyGroup>
+ <ItemGroup>
+ <None Remove="Resource\arrow_left.png" />
+ <None Remove="Resource\dots_horizontal.png" />
+ <None Remove="Resource\menu.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Resource\arrow_left.png" />
+ <EmbeddedResource Include="Resource\dots_horizontal.png" />
+ <EmbeddedResource Include="Resource\menu.png" />
+ <EmbeddedResource Include="Resource\refresh_48dp.png" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Tizen.NET" Version="4.0.0" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\Xamarin.Forms.Core\XSF.Core.csproj" />
+ </ItemGroup>
+
+</Project>
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <Description>Tizen Backend for Xamarin.Forms</Description>
- </PropertyGroup>
- <PropertyGroup>
- <TargetFramework>tizen40</TargetFramework>
- <TargetFrameworkIdentifier>Tizen</TargetFrameworkIdentifier>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- </PropertyGroup>
- <ItemGroup>
- <None Remove="Resource\arrow_left.png" />
- <None Remove="Resource\dots_horizontal.png" />
- <None Remove="Resource\menu.png" />
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="Resource\arrow_left.png" />
- <EmbeddedResource Include="Resource\dots_horizontal.png" />
- <EmbeddedResource Include="Resource\menu.png" />
- <EmbeddedResource Include="Resource\refresh_48dp.png" />
- </ItemGroup>
-
- <ItemGroup>
- <PackageReference Include="Tizen.NET" Version="4.0.0" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj" />
- </ItemGroup>
-
-</Project>
using System.Runtime.CompilerServices;
-[assembly: InternalsVisibleTo("Xamarin.Forms.Core")]
\ No newline at end of file
+[assembly: InternalsVisibleTo("XSF.Core")]
\ No newline at end of file
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFrameworks>netstandard2.0;netstandard1.0</TargetFrameworks>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'">
+ </PropertyGroup>
+</Project>
\ No newline at end of file
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFrameworks>netstandard2.0;netstandard1.0</TargetFrameworks>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'">
- </PropertyGroup>
-</Project>
\ No newline at end of file
using Xamarin.Forms.Internals;
[assembly: InternalsVisibleTo("Xamarin.Forms.Xaml.UnitTests")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Build.Tasks")]
+[assembly: InternalsVisibleTo("XSF.Build.Tasks")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Xaml.Design")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Loader")]// Xamarin.Forms.Loader.dll Xamarin.Forms.Xaml.XamlLoader.Load(object, string), kzu@microsoft.com
[assembly: InternalsVisibleTo("Xamarin.HotReload.Forms")]
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFrameworks>netstandard2.0;netstandard1.0</TargetFrameworks>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'">
+ </PropertyGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Xamarin.Forms.Core\XSF.Core.csproj">
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Diagnostics\" />
+ </ItemGroup>
+</Project>
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFrameworks>netstandard2.0;netstandard1.0</TargetFrameworks>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'">
- </PropertyGroup>
- <ItemGroup>
- <ProjectReference Include="..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj">
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <Folder Include="Diagnostics\" />
- </ItemGroup>
-</Project>