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