基于这个问题: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.config
和PackageReference
格式的项目构建输出,我会很高兴,但是在中显示文件解决方案资源管理器。
答案 0 :(得分:2)
在解决方案资源管理器中显示使用.targets文件添加的NuGet包项目
我担心你不能使用.targets
文件来做这些事情。这是因为当您使用.target
文件添加项目时,此项目已添加到您的项目中,如&#34; Add As Link&#34;。这意味着此项目尚未真正添加到您的项目中。所以它不会在解决方案资源管理器中显示
要解决此问题,您可以创建两个nuget包,使用nuget content
用于packages.config
格式,contentFiles
用于PackageReference
格式。
希望这有帮助。