forked from Applied-Duality/ReactiveTrader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
OSX Build Notes.txt
85 lines (65 loc) · 3.73 KB
/
OSX Build Notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Steps
1. Update Microsot.Portable.CShart.targets in /Library/Frameworks/Mono.framework/Versions/3.2.6/lib/mono/xbuild/Microsoft/Portable/v4.5
to:
<!--Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\Microsoft.Portable.CSharp.Targets" />
</Project-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AvailablePlatforms>Any CPU</AvailablePlatforms>
<TargetPlatformIdentifier>Portable</TargetPlatformIdentifier>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<TargetFrameworkMonikerDisplayName>.NET Portable Subset</TargetFrameworkMonikerDisplayName>
<AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
<NoStdLib>true</NoStdLib>
<ImplicitlyExpandTargetFramework Condition="'$(ImplicitlyExpandTargetFramework)' == '' ">true</ImplicitlyExpandTargetFramework>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.Targets" />
<PropertyGroup>
<ResolveReferencesDependsOn>
$(ResolveReferencesDependsOn);
ImplicitlyExpandTargetFramework;
</ResolveReferencesDependsOn>
<ImplicitlyExpandTargetFrameworkDependsOn>
$(ImplicitlyExpandTargetFrameworkDependsOn);
GetReferenceAssemblyPaths
</ImplicitlyExpandTargetFrameworkDependsOn>
</PropertyGroup>
<Target Name="ImplicitlyExpandTargetFramework"
DependsOnTargets="$(ImplicitlyExpandTargetFrameworkDependsOn)">
<ItemGroup>
<ReferenceAssemblyPaths Include="$(_TargetFrameworkDirectories)"/>
<ReferencePath Include="%(ReferenceAssemblyPaths.Identity)\*.dll">
<CopyLocal>false</CopyLocal>
<ResolvedFrom>ImplicitlyExpandTargetFramework</ResolvedFrom>
<IsSystemReference>True</IsSystemReference>
</ReferencePath>
</ItemGroup>
</Target>
</Project>
2. Update .Shared.csproj to:
<Project ToolVersion="4.0" ... />
3. Update .nuget/nuget.targets with:
- <PackagesProjectConfig>packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
+ <PackagesProjectConfig Condition=" '$(OS)' == 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
+ <PackagesProjectConfig Condition=" '$(OS)' != 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesProjectConfig>
- <Choose>
- <When Condition="Exists('$(PackagesProjectConfig)')">
- <PropertyGroup>
- <PackagesConfig>$(PackagesProjectConfig)</PackagesConfig>
- </PropertyGroup>
- </When>
- <When Condition="Exists('packages.config')">
- <PropertyGroup>
- <PackagesConfig>packages.config</PackagesConfig>
- </PropertyGroup>
- </When>
- </Choose>
+ <PropertyGroup>
+ <PackagesConfig Condition="Exists('$(PackagesProjectConfig)')">$(PackagesProjectConfig)</PackagesConfig>
+ <PackagesConfig Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfig>
+ </PropertyGroup>
At this point you should have your .Shared project building.
4. Repeat step 2. for every PCL project you want to build.
5. Add all transitive dependecies to iOSTab project.
- NewtonJsoft for one.