Fix RazorAddin project.

- Move assembly attributes to work with incremental compilation.
- Utilize Mono.Addins from nuget.org.
This commit is contained in:
N. Taylor Mullen 2017-09-29 17:25:20 -07:00
parent 3c73812f8a
commit 059264ba34
2 changed files with 21 additions and 46 deletions

View File

@ -16,7 +16,6 @@
<DebugType Condition="'$(OS)'=='Windows_NT' AND '$(TargetFramework)'=='net46'">full</DebugType>
<RoslynDevVersion>2.6.0-beta1-62023-02</RoslynDevVersion>
<MonoDevelopAddinsVersion>0.3.18</MonoDevelopAddinsVersion>
</PropertyGroup>
<ItemGroup>

View File

@ -5,20 +5,32 @@
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<ItemGroup>
<AssemblyAttribute Include="Mono.Addins.AddinAttribute">
<_Parameter1>$(AddinId)</_Parameter1>
<Namespace>$(AddinNamespace)</Namespace>
<Version>$(AddinVersion)</Version>
</AssemblyAttribute >
<AssemblyAttribute Include="Mono.Addins.AddinNameAttribute">
<_Parameter1>$(AddinDetailedName)</_Parameter1>
</AssemblyAttribute >
<AssemblyAttribute Include="Mono.Addins.AddinCategoryAttribute">
<_Parameter1>$(AddinCategory)</_Parameter1>
</AssemblyAttribute >
<AssemblyAttribute Include="Mono.Addins.AddinDescriptionAttribute">
<_Parameter1>$(Description)</_Parameter1>
</AssemblyAttribute >
<AssemblyAttribute Include="Mono.Addins.AddinAuthorAttribute">
<_Parameter1>$(Authors)</_Parameter1>
</AssemblyAttribute >
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\_Manifest.addin.xml" LogicalName="_Manifest.addin.xml" />
</ItemGroup>
<ItemGroup>
<!--
By default the MonoDevelop.Addins package has restore tasks that depend on monodevelop existing on the machine.
We can avoid this requirement by not letting it auto-restore monodevelop dependencies because we know which ones
we depend on and can bring them in manually.
-->
<PackageReference Include="MonoDevelop.Addins" Version="$(MonoDevelopAddinsVersion)" NoWarn="KRB4002" ExcludeAssets="build" />
<Reference Include="Mono.Addins">
<HintPath>$(NuGetPackageRoot)monodevelop.addins\$(MonoDevelopAddinsVersion)\build\Mono.Addins.dll</HintPath>
</Reference>
<PackageReference Include="Mono.Addins" />
</ItemGroup>
<ItemGroup>
@ -33,40 +45,4 @@
<Targets>Build</Targets>
</ProjectReference>
</ItemGroup>
<!-- We need to generate assembly attributes with build time information to let MonoDevelop know RazorAddins metadata at runtime. -->
<Target Name="GenerateAddinAssemblyAttributes" BeforeTargets="PreBuildEvent">
<PropertyGroup>
<GeneratedAddinAssemblyInfo>$(IntermediateOutputPath)$(MSBuildProjectFile).AddinInfo.cs</GeneratedAddinAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<RazorAssemblyAttribute Include="Mono.Addins.AddinAttribute">
<_Parameter1>$(AddinId)</_Parameter1>
<Namespace>$(AddinNamespace)</Namespace>
<Version>$(AddinVersion)</Version>
</RazorAssemblyAttribute>
<RazorAssemblyAttribute Include="Mono.Addins.AddinNameAttribute">
<_Parameter1>$(AddinDetailedName)</_Parameter1>
</RazorAssemblyAttribute>
<RazorAssemblyAttribute Include="Mono.Addins.AddinCategoryAttribute">
<_Parameter1>$(AddinCategory)</_Parameter1>
</RazorAssemblyAttribute>
<RazorAssemblyAttribute Include="Mono.Addins.AddinDescriptionAttribute">
<_Parameter1>$(Description)</_Parameter1>
</RazorAssemblyAttribute>
<RazorAssemblyAttribute Include="Mono.Addins.AddinAuthorAttribute">
<_Parameter1>$(Authors)</_Parameter1>
</RazorAssemblyAttribute>
</ItemGroup>
<ItemGroup>
<!-- Ensure generated file is not already in compile sources -->
<Compile Remove="$(GeneratedAddinAssemblyInfo)" />
</ItemGroup>
<WriteCodeFragment Language="C#" OutputFile="$(GeneratedAddinAssemblyInfo)" AssemblyAttributes="@(RazorAssemblyAttribute)">
<Output TaskParameter="OutputFile" ItemName="Compile" />
</WriteCodeFragment>
</Target>
</Project>