7

Based on this question: Prevent duplicating files in NuGet content and contentFiles folders, I'm using build/Project.targets file of my NuGet package to add some files to project build output. Like:

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

Now, I actually want those files to be visible in Solution Explorer, so that developer can tweak item properties. But setting the <Visible> tag to true makes no effect. Is this even possible?


I'd be happy even with a completely different approach that still allows the NuGet package to add files to project build output for both packages.config and PackageReference formats, yet show the files in Solution Explorer.

1 Answer 1

2
+100

Showing NuGet package item added using .targets file in Solution Explorer

I am afraid you could not do such things by using .targets file. That because when you add item by using .target file, this item was added to your project like "Add As Link". That means this item hasn't really been added to your project. So it is not show in Solution Explorer.

To resolve this issue, you can create two nuget packages, using nuget content for packages.config formats and contentFiles for PackageReference formats.

Hope this helps.

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks for your response. Yes, I was afraid of that too. Though I'm still hoping for some creative solution. It would be sad, if I have to accept your answer eventually :)
@MartinPrikryl, This is indeed a painful thing. I have the similar question as you before, add a item to the solution explorer for nuget content and contentFiles formats in one nuget package. But I didn't implement it, and discuss with others, finally, we have to use two packages, if we do not want to release a nuget package which including duplicate the files. :(.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.