2017-08-03 11 views
1

は表示されません。私の.csprojの一部です:Visual Studioはここソリューションエクスプローラのターゲットからの参照

<Project DefaultTargets="Build" InitialTargets="MyTarget" xmlns="..."> 
<Target Name="MyTarget" DependsOnTargets="Include_Ver1;Include_Ver2"/> 

<Target Name="Include_Ver1" Condition="..."> 
    <ItemGroup> 
     <COMReference Include="Ref">  
     1st_Version 
     </COMReference> 
    </ItemGroup> 
    </Target> 

<Target Name="Include_Ver2" Condition="..."> 
    <ItemGroup> 
     <COMReference Include="Ref">  
     2nd_Version 
     </COMReference> 
    </ItemGroup> 
    </Target> 

私は、ライブラリ関数を使用することができ、プロジェクトが正常にビルドしますが、参照は「参照」ブロックに表示されません。ビジュアルスタジオソリューションエクスプローラ内ターゲットでIntellisenseのパース参照を強制するにはどうすればよいですか?

答えて

1

ためなど

<ItemGroup> 
    <Reference Include="Microsoft.CSharp" /> 
     <Reference Include="Microsoft.Owin, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
      <SpecificVersion>False</SpecificVersion> 
      <HintPath>..\..\Microsoft.Owin.dll</HintPath> 
     </Reference> 
    </ItemGroup> 
1

VSはそれらを表示しません*の.csprojはSVNのような任意のバージョン管理システムの下でのみ書き込みされていないelements.Make確認、さまざまな参考資料とし、hintpath下の特定のバージョンのノードをお試しくださいソリューションエクスプローラは基本的に、プロジェクトファイルを解析した後の結果を表示します。 Parsing!= execution、ターゲットに追加されたリファレンスは決して実行されないので見えません - VSはターゲットが実行されるかどうかを推測することができず、リファレンスを調べるためにランダムビルドの実行を開始できませんが追加されます。

本当にターゲットが必要ですか?アイテムグループにも条件がありますが、これで十分でしょうか?

<ItemGroup Condition="..."> 
    <COMReference Include="Ref">  
    1st_Version 
    </COMReference> 
</ItemGroup> 
+0

すべての条件が偽の場合、Visual Studioは警告標識(バージョン0.0.0.0)で照会を表示します。 "選択"ブロックはうまく機能しますが、このタグの "ラベル"属性はエラーをスローします(ただし、Visual Studioでは可能な限り属性が表示されます)。 私のvsix内で.csprojを操作するためにこの属性を使用していますので、vsixから生成された「選択」ブロックを判断するためにはさらに難しい分析が必要です。この[link](https://msdn.microsoft.com/en-us/library/ms171468.aspx?f=255&MSPPError=-2147217396)からデザイン時ターゲットの実行:私は理解していません。 Visual Studio。 –

+0

ターゲットを使用せず、VSが参照を表示するか、ターゲットを使用しますが、VSは参照を表示しません。他の方法はありません(私が知る限り)。 – stijn

関連する問題