簡體   English   中英

Visual Studio在解決方案資源管理器中不顯示來自目標的引用

[英]Visual Studio does not display references from targets in Solution Explorer

這是我的.csproj的一部分:

<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>

我可以正確使用庫函數和項目構建,但是參考沒有出現在Visual Studio解決方案資源管理器的“參考”塊中。 如何在目標中強制Intellisense解析引用?

嘗試使用不同的References並在hintpath下方,特定版本的節點元素下進行操作。確保* .csproj不能僅在諸如SVN等任何版本控制系統下寫入。

 <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>

VS不會顯示它們,因為解決方案資源管理器基本上會在解析項目文件后顯示其內容。 解析!=正在執行,因此不會將目標中添加的引用視為從未執行過-這很有意義,VS無法猜測該目標是否將被執行,並且它無法開始執行隨機構建以找出該引用是否將被添加。

您真的需要一個目標嗎? ItemGroups也可以有條件,也許這足以滿足您的要求?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM