在解决方案资源管理器中显示使用.targets文件添加的NuGet包项目

时间:2018-03-27 07:50:09

标签: visual-studio nuget nuget-package

基于这个问题:Prevent duplicating files in NuGet content and contentFiles folders,我正在使用我的NuGet包的build/Project.targets文件将一些文件添加到项目构建输出中。像:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Content Include="$(MSBuildThisFileDirectory)..\tools\test.jpg">
      <Link>test.jpg</Link>
      <Visible>false</Visible>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </Content>
  </ItemGroup>
</Project>

现在,我实际上希望这些文件在 Solution Explorer 中可见,以便开发人员可以调整项目属性。但是将<Visible>标记设置为true无效。这甚至可能吗?

即使采用完全不同的方法仍然允许NuGet包将文件添加到packages.configPackageReference格式的项目构建输出,我会很高兴,但是在中显示文件解决方案资源管理器

1 个答案:

答案 0 :(得分:2)

  

在解决方案资源管理器中显示使用.targets文件添加的NuGet包项目

我担心你不能使用.targets文件来做这些事情。这是因为当您使用.target文件添加项目时,此项目已添加到您的项目中,如&#34; Add As Link&#34;。这意味着此项目尚未真正添加到您的项目中。所以它不会在解决方案资源管理器中显示

要解决此问题,您可以创建两个nuget包,使用nuget content用于packages.config格式,contentFiles用于PackageReference格式。

希望这有帮助。