基于此问题: Prevent duplicating files in NuGet content and contentFiles folders ,我正在使用 build/Project.targets 我的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>
现在,我希望这些文件在 解决方案管理器 ,以便开发人员可以调整项目属性。但是设置 <Visible> 标记到 true 没有任何效果。这可能吗?
<Visible>
true
我很高兴使用完全不同的方法,仍然允许NuGet包将文件添加到项目构建输出中 packages.config PackageReference 格式,但在中显示文件 解决方案管理器 。
packages.config
PackageReference
显示使用添加的NuGet包项目。解决方案资源管理器中的目标文件
恐怕你不能用 .targets 文件这是因为当您使用 .target 文件中,此项已像“添加为链接”一样添加到项目中。这意味着此项目尚未真正添加到您的项目中。因此,它不会显示在解决方案资源管理器中。
.targets
.target
要解决此问题,可以使用nuget创建两个nuget包 content 对于 packages.config 格式和 contentFiles PackageReference 格式。
content
contentFiles
希望这有帮助。