IVsSharedProjectQueryCanBeReferenced.QueryCanSharedProjectBeReferenced Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Called by the EnumAllAvailableSharedProjects(IVsHierarchy) implementation in order to filter the list of Shared Projects to only valid choices for the ReferencingProject
.
public:
System::UInt32 QueryCanSharedProjectBeReferenced(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ ReferencingProject);
public:
unsigned int QueryCanSharedProjectBeReferenced(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ ReferencingProject);
unsigned int QueryCanSharedProjectBeReferenced(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const & ReferencingProject);
public uint QueryCanSharedProjectBeReferenced (Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ReferencingProject);
abstract member QueryCanSharedProjectBeReferenced : Microsoft.VisualStudio.Shell.Interop.IVsHierarchy -> uint32
Public Function QueryCanSharedProjectBeReferenced (ReferencingProject As IVsHierarchy) As UInteger
Parameters
- ReferencingProject
- IVsHierarchy
The project that wants to add a Shared Project Reference.
Returns
A VSREFERENCEQUERYRESULT result value that indicates whether the reference is allowed or not.
Remarks
The minimum expected implementation of this method by a Shared Project is to enforce that the language of the Shared Project is compatible with the language of the referencingProject. This check is normally made by performing an IsCapabilitiesMatch check. e.g.:
return referencingProject.IsCapabilityMatch($(SharedProjectAppliesTo));
where the $(SharedProjectAppliesTo) property of the Shared Project is a Capabilities expression thatensures that the referencingProject is of a compatible language (and possibly other criteria for advanced Shared Project scenarios).For example the SharedProjectAppliesTo property defined in the Microsoft.CSharp.CodeSharing.targets file is the following
<SharedProjectAppliesTo>CSharp<\SharedProjectAppliesTo>