ItemLevelExtension.csproj 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project Sdk="Microsoft.NET.Sdk">
  3. <ImportGroup>
  4. <Import Project="../GamePaths.xml" />
  5. </ImportGroup>
  6. <PropertyGroup>
  7. <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
  8. <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
  9. <ProjectGuid>{91AB81DE-EAEE-47D1-93DD-541179208219}</ProjectGuid>
  10. <OutputType>Library</OutputType>
  11. <AppDesignerFolder>Properties</AppDesignerFolder>
  12. <RootNamespace>ItemLevelExtension</RootNamespace>
  13. <AssemblyName>ItemLevelExtension</AssemblyName>
  14. <TargetFrameworks>net35</TargetFrameworks>
  15. <FileAlignment>512</FileAlignment>
  16. <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  17. <Configurations>Release</Configurations>
  18. <Authors>Zariteis</Authors>
  19. <ApplicationIcon />
  20. <StartupObject />
  21. <Platforms>x86</Platforms>
  22. </PropertyGroup>
  23. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
  24. <PlatformTarget>x86</PlatformTarget>
  25. <DebugType>none</DebugType>
  26. <Optimize>true</Optimize>
  27. <OutputPath>Release\</OutputPath>
  28. <DefineConstants>TRACE</DefineConstants>
  29. <ErrorReport>prompt</ErrorReport>
  30. <WarningLevel>4</WarningLevel>
  31. <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
  32. </PropertyGroup>
  33. <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net35|x86'">
  34. <NoWarn>1701;1702</NoWarn>
  35. </PropertyGroup>
  36. <ItemGroup>
  37. <Reference Include="0Harmony">
  38. <HintPath>$(GamePath)$(ManagedFolder)0Harmony.dll</HintPath>
  39. <Private>false</Private>
  40. </Reference>
  41. <Reference Include="Assembly-CSharp">
  42. <HintPath>$(GamePath)$(ManagedFolder)Assembly-CSharp.dll</HintPath>
  43. <Private>false</Private>
  44. </Reference>
  45. <Reference Include="GadgetCore">
  46. <HintPath>$(GamePath)$(ManagedFolder)GadgetCore.dll</HintPath>
  47. <Private>false</Private>
  48. </Reference>
  49. <Reference Include="UnityEngine">
  50. <HintPath>$(GamePath)$(ManagedFolder)UnityEngine.dll</HintPath>
  51. <Private>false</Private>
  52. </Reference>
  53. <Reference Include="WindowsBase" />
  54. </ItemGroup>
  55. <ItemGroup>
  56. <Content Include="ModInfo.txt">
  57. <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  58. </Content>
  59. </ItemGroup>
  60. <UsingTask TaskName="GetFileVersion" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
  61. <ParameterGroup>
  62. <AssemblyPath ParameterType="System.String" Required="true" />
  63. <Version ParameterType="System.String" Output="true" />
  64. <TrimmedVersion ParameterType="System.String" Output="true" />
  65. </ParameterGroup>
  66. <Task>
  67. <Using Namespace="System.Diagnostics" />
  68. <Using Namespace="System.Text" />
  69. <Using Namespace="System.Linq" />
  70. <Code Type="Fragment" Language="cs">
  71. <![CDATA[
  72. this.Version = FileVersionInfo.GetVersionInfo(this.AssemblyPath).FileVersion;
  73. this.TrimmedVersion = this.Version.Split('.').TakeWhile(x => !x.Equals("0")).Aggregate(new StringBuilder(), (a, b) => { if (a.Length > 0) a.Append("."); a.Append(b); return a; }).ToString();
  74. if (this.TrimmedVersion.IndexOf('.') == -1) this.TrimmedVersion += ".0";
  75. ]]>
  76. </Code>
  77. </Task>
  78. </UsingTask>
  79. <Target Name="PostBuild" AfterTargets="PostBuildEvent">
  80. <GetFileVersion AssemblyPath="$(TargetPath)">
  81. <Output TaskParameter="Version" PropertyName="ModFullVersion" />
  82. <Output TaskParameter="TrimmedVersion" PropertyName="AssemblyFileVersion" />
  83. </GetFileVersion>
  84. <ItemGroup>
  85. <OldZip Include="$(TargetDir)$(AssemblyName)_v*.zip" />
  86. <OldZip Include="$(GamePath)GadgetCore\Mods\$(AssemblyName)_v*.zip" />
  87. </ItemGroup>
  88. <Delete Files="@(OldZip)" />
  89. <MakeDir Directories="$(TargetDir)..\BuildCache\" />
  90. <ZipDirectory SourceDirectory="$(TargetDir)" DestinationFile="$(TargetDir)..\BuildCache\$(AssemblyName)_v$(AssemblyFileVersion).zip" />
  91. <Copy SourceFiles="$(TargetDir)..\BuildCache\$(AssemblyName)_v$(AssemblyFileVersion).zip" DestinationFiles="$(TargetDir)$(AssemblyName)_v$(AssemblyFileVersion).zip" />
  92. <RemoveDir Directories="$(TargetDir)..\BuildCache\" />
  93. <MakeDir Directories="$(GamePath)GadgetCore\Mods\" />
  94. <Copy SourceFiles="$(TargetDir)$(AssemblyName)_v$(AssemblyFileVersion).zip" DestinationFiles="$(GamePath)GadgetCore\Mods\$(AssemblyName)_v$(AssemblyFileVersion).zip" />
  95. <Message Importance="High" Text="Mod Exported to $(GamePath)GadgetCore\Mods\$(AssemblyName)_v$(AssemblyFileVersion).zip" />
  96. </Target>
  97. <ItemGroup>
  98. <None Update="Manifest.ini">
  99. <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  100. </None>
  101. </ItemGroup>
  102. <ItemGroup>
  103. <Reference Update="System">
  104. <Private>false</Private>
  105. <SpecificVersion>true</SpecificVersion>
  106. </Reference>
  107. </ItemGroup>
  108. <ItemGroup>
  109. <Reference Update="System.Data">
  110. <EmbedInteropTypes>false</EmbedInteropTypes>
  111. </Reference>
  112. </ItemGroup>
  113. <ItemGroup>
  114. <Reference Update="System.Drawing">
  115. <EmbedInteropTypes>false</EmbedInteropTypes>
  116. </Reference>
  117. </ItemGroup>
  118. <ItemGroup>
  119. <Reference Update="System.IO.Compression.FileSystem">
  120. <EmbedInteropTypes>false</EmbedInteropTypes>
  121. </Reference>
  122. </ItemGroup>
  123. <ItemGroup>
  124. <Reference Update="System.Numerics">
  125. <EmbedInteropTypes>false</EmbedInteropTypes>
  126. </Reference>
  127. </ItemGroup>
  128. <ItemGroup>
  129. <Reference Update="System.Runtime.Serialization">
  130. <EmbedInteropTypes>false</EmbedInteropTypes>
  131. </Reference>
  132. </ItemGroup>
  133. <ItemGroup>
  134. <Reference Update="System.Xml">
  135. <EmbedInteropTypes>false</EmbedInteropTypes>
  136. </Reference>
  137. </ItemGroup>
  138. <ItemGroup>
  139. <Reference Update="System.Xml.Linq">
  140. <EmbedInteropTypes>false</EmbedInteropTypes>
  141. </Reference>
  142. </ItemGroup>
  143. </Project>