Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

Support all ApiIntersect parameters api #87

Merged
merged 6 commits into from
Feb 15, 2017

Conversation

mrward
Copy link
Member

@mrward mrward commented Feb 15, 2017

Added support for all ApiIntersect parameters. They can all now be specified from an MSBuild project.

Added the intersection assembly directories as the default directories to use when ApiIntersect tries to resolve assemblies. This allows ApiIntersect to resolve assemblies that are referenced by the project but it may still fail if there are public types exposed from the resolved assembly that are not removed by ApiIntersect.

NuGet/Home#4597

<PropertyGroup>
   <IntersectionAssemblyReferencePath>Path1;Path2<IntersectionAssemblyReferencePath>
</PropertyGroup>
<PropertyGroup>
  <IntersectionExcludeType>Type1;Type2</IntersectionExcludeType>
</PropertyGroup>

The type names are passed to ApiIntersect using the -b parameter.
The flags to keep the marshalling/interop information and keep
internal constructors can now be set in the MSBuild project.
<PropertyGroup>
  <IntersectionRemoveAbstractTypeMembers>Type1;Type2</IntersectionRemoveAbstractTypeMembers>
</PropertyGroup>
…rsection

<ItemGroup>
  <IntersectionExcludeAssembly Include="path/to/assembly.dll" />
</ItemGroup>

Maps to the -e parameter used by ApiIntersect.
By default use the directory containing the intersection assembly when
resolving assemblies using ApiIntersect. This directory is passed to
the ApiIntersect tool using the -r parameter. This behaviour can be
overridden by setting an EnableDefaultIntersectionAssemblyReferencePath
MSBuild property to false. It is true by default.
Copy link
Contributor

@kzu kzu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@kzu kzu merged commit 2fa6c67 into NuGet:dev Feb 15, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants