forked from jbevain/cecil
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Mono.Cecil.settings
109 lines (105 loc) · 5.42 KB
/
Mono.Cecil.settings
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">net_4_0_Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<BuildDirectory Condition=" '$(BuildDirectory)' == '' ">$(MSBuildThisFileDirectory)</BuildDirectory>
<FileAlignment>512</FileAlignment>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>Library</OutputType>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)\mono.snk</AssemblyOriginatorKeyFile>
<OutputType>Library</OutputType>
<OutputPath>$(BuildDirectory)\bin\$(Configuration)\</OutputPath>
<MSBuildCSharpTargets>$(MSBuildToolsPath)\Microsoft.CSharp.targets</MSBuildCSharpTargets>
</PropertyGroup>
<PropertyGroup Condition=" $(Configuration.EndsWith('Debug')) ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>$(DefineConstants);DEBUG;TRACE;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" $(Configuration.EndsWith('Release')) ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>$(DefineConstants);TRACE;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<PropertyGroup Condition=" $(Configuration.StartsWith('net_3_5')) ">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<DefineConstants>$(DefineConstants);NET_3_5;</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" $(Configuration.StartsWith('net_4_0')) ">
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<DefineConstants>$(DefineConstants);NET_3_5;NET_4_0;</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" $(Configuration.StartsWith('net_4_5')) ">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<DefineConstants>$(DefineConstants);NET_3_5;NET_4_0;NET_4_5;</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" $(Configuration.StartsWith('pcl')) ">
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkProfile>Profile344</TargetFrameworkProfile>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<DefineConstants>$(DefineConstants);NET_3_5;NET_4_0;PCL;</DefineConstants>
<MSBuildCSharpTargets>$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets</MSBuildCSharpTargets>
</PropertyGroup>
<!-- Shared References -->
<ItemGroup>
<Reference Include="System.Core" />
<Reference Include="System" />
</ItemGroup>
<!-- The following keeps Visual Studio happy; let's keep Visual Studio happy -->
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Debug' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Debug' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_5_Debug' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'pcl_Debug' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'net_2_0_Release' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Release' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Release' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_5_Release' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'pcl_Release' ">
</PropertyGroup>
<!-- This optional import allows products that distribute Cecil to tweak settings that will affect its
build, without having to fork the project unnecessarily. The Mono.Cecil.overrides file is a plain
MSBuild file with additional properties, and can exist anywhere upwards from the current Cecil repo
clone path, making it very flexible even if the project is submoduled.
-->
<PropertyGroup>
<CecilOverrides Condition="'$(CecilOverrides)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), Mono.Cecil.overrides))\Mono.Cecil.overrides</CecilOverrides>
</PropertyGroup>
<Import Project="$(CecilOverrides)" Condition="Exists('$(CecilOverrides)')" />
<!-- This is an example of a custom override file -->
<!--
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AssemblyName>$(AssemblyName.Replace('Mono', 'MyCompany'))</AssemblyName>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)MyCompany.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)MyCompany.AssemblyInfo.cs" />
</ItemGroup>
</Project>
The additional AssemblyInfo.cs added to the Compile group provides the InternalsVisibleTo so that
the Mdb/Pdb projects can compile successfully:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: InternalsVisibleTo ("MyCompany.Cecil.Pdb, PublicKey=....")]
[assembly: InternalsVisibleTo ("MyCompany.Cecil.Mdb, PublicKey=...")]
[assembly: InternalsVisibleTo ("MyCompany.Cecil.Rocks, PublicKey=...")]
[assembly: InternalsVisibleTo ("MyCompany.Cecil.Tests, PublicKey=...")]
-->
</Project>