Prechádzať zdrojové kódy

Change ILMerge to Costura.Fody

Bepis 6 rokov pred
rodič
commit
ab3975b92e

+ 10 - 9
BepInEx.Patcher/BepInEx.Patcher.csproj

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.props" Condition="Exists('..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.props')" />
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -38,8 +37,11 @@
     <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
-      <HintPath>..\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.dll</HintPath>
+    <Reference Include="Costura, Version=2.0.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
+      <HintPath>..\packages\Costura.Fody.2.0.0\lib\net452\Costura.dll</HintPath>
+    </Reference>
+    <Reference Include="Mono.Cecil, Version=0.10.0.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e, processorArchitecture=MSIL">
+      <HintPath>..\packages\Mono.Cecil.0.10.0\lib\net40\Mono.Cecil.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
@@ -53,12 +55,10 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
-    <None Include="ILMerge.props" />
-    <None Include="ILMergeConfig.json" />
     <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
-    <Content Include="ILMergeOrder.txt" />
+    <Content Include="FodyWeavers.xml" />
   </ItemGroup>
   <Import Project="..\BepInEx.Common\BepInEx.Common.projitems" Label="Shared" />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
@@ -66,8 +66,9 @@
     <PropertyGroup>
       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
     </PropertyGroup>
-    <Error Condition="!Exists('..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.props'))" />
-    <Error Condition="!Exists('..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.targets'))" />
+    <Error Condition="!Exists('..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets'))" />
+    <Error Condition="!Exists('..\packages\Fody.3.0.1\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.3.0.1\build\Fody.targets'))" />
   </Target>
-  <Import Project="..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.targets" Condition="Exists('..\packages\MSBuild.ILMerge.Task.1.0.5\build\MSBuild.ILMerge.Task.targets')" />
+  <Import Project="..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets" Condition="Exists('..\packages\Costura.Fody.2.0.0\build\Costura.Fody.targets')" />
+  <Import Project="..\packages\Fody.3.0.1\build\Fody.targets" Condition="Exists('..\packages\Fody.3.0.1\build\Fody.targets')" />
 </Project>

+ 4 - 0
BepInEx.Patcher/FodyWeavers.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Weavers>
+  <Costura />
+</Weavers>

+ 0 - 67
BepInEx.Patcher/ILMerge.props

@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <!--                                                                                   -->
-    <!-- ILMerge project-specific settings. Almost never need to be set explicitly.       -->
-    <!-- for details, see http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx -->
-    <!--                                                                                   -->
-    <!-- *** set this file to Type=None, CopyToOutput=Never ***                            -->
-
-    <!-- If True, all copy local dependencies will also be merged from referenced projects whether they are referenced in the current project explicitly or not -->
-    <ILMergeTransitive>false</ILMergeTransitive>
-
-    <!-- Extra ILMerge library paths (semicolon-separated). Dont put your package dependencies here, they will be added automagically -->
-    <ILMergeLibraryPath></ILMergeLibraryPath>
-
-    <!-- The solution NuGet package directory if not standard 'SOLUTION\packages' -->
-    <ILMergePackagesPath></ILMergePackagesPath>
-
-    <!-- The merge order file name if differs from standard 'ILMergeOrder.txt' -->
-    <ILMergeOrderFile></ILMergeOrderFile>
-
-    <!-- The strong key file name if not specified in the project -->
-    <ILMergeKeyFile></ILMergeKeyFile>
-
-    <!-- The assembly version if differs for the version of the main assembly -->
-    <ILMergeAssemblyVersion></ILMergeAssemblyVersion>
-
-    <!-- added in Version 1.0.4 -->
-    <ILMergeFileAlignment></ILMergeFileAlignment>
-
-    <!-- added in Version 1.0.4, default=none -->
-    <ILMergeAllowDuplicateType></ILMergeAllowDuplicateType>
-
-    <!-- If the <see cref="CopyAttributes"/> is also set, any assembly-level attributes names that have the same type are copied over into the target assembly -->
-    <ILMergeAllowMultipleAssemblyLevelAttributes></ILMergeAllowMultipleAssemblyLevelAttributes>
-
-    <!-- See ILMerge documentation -->
-    <ILMergeAllowZeroPeKind></ILMergeAllowZeroPeKind>
-
-    <!-- The assembly level attributes of each input assembly are copied over into the target assembly -->
-    <ILMergeCopyAttributes></ILMergeCopyAttributes>
-    
-    <!-- Creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies, default=true -->
-    <ILMergeDebugInfo>false</ILMergeDebugInfo>
-
-    <!-- Target assembly will be delay signed -->
-    <ILMergeDelaySign></ILMergeDelaySign>
-
-    <!-- Types in assemblies other than the primary assembly have their visibility modified -->
-    <ILMergeInternalize></ILMergeInternalize>
-
-    <!-- The path name of the file that will be used to identify types that are not to have their visibility modified -->
-    <ILMergeInternalizeExcludeFile></ILMergeInternalizeExcludeFile>
-
-    <!-- XML documentation files are merged to produce an XML documentation file for the target assembly -->
-    <ILMergeXmlDocumentation></ILMergeXmlDocumentation>
-
-    <!-- External assembly references in the manifest of the target assembly will use full public keys (false) or public key tokens (true, default value) -->
-    <ILMergePublicKeyTokens></ILMergePublicKeyTokens>
-
-    <!-- Types with the same name are all merged into a single type in the target assembly -->
-    <ILMergeUnionMerge></ILMergeUnionMerge>
-
-    <!-- The version of the target framework, default 40 (works for 45 too) -->
-    <ILTargetPlatform>45</ILTargetPlatform>
-  </PropertyGroup>
-</Project>

+ 0 - 5
BepInEx.Patcher/ILMergeConfig.json

@@ -1,5 +0,0 @@
-{
-  "General": {
-    "OutputFile": "$(TargetDir)$(TargetFileName)"
-  }
-}

+ 0 - 4
BepInEx.Patcher/ILMergeOrder.txt

@@ -1,4 +0,0 @@
-# this file contains the partial list of the merged assemblies in the merge order
-# you can fill it from the obj\CONFIG\PROJECT.ilmerge generated on every build
-# and finetune merge order to your satisfaction
-

+ 3 - 3
BepInEx.Patcher/packages.config

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="ILMerge" version="2.14.1208" targetFramework="net452" />
-  <package id="Mono.Cecil" version="0.9.6.4" targetFramework="net452" />
-  <package id="MSBuild.ILMerge.Task" version="1.0.5" targetFramework="net452" />
+  <package id="Costura.Fody" version="2.0.0" targetFramework="net452" />
+  <package id="Fody" version="3.0.1" targetFramework="net452" developmentDependency="true" />
+  <package id="Mono.Cecil" version="0.10.0" targetFramework="net452" />
 </packages>