Visual studio 包含NuGet包中的XML文档
我有一个带有xml文档文件(doc.xml)的NuGet包 我已经在我的项目中安装了NuGet软件包 我知道我想将NuGet文档文件doc.xml添加到我的解决方案中 我正在运行.NETCore3.1,但我不知道如何实现这一点Visual studio 包含NuGet包中的XML文档,visual-studio,.net-core,nuget,Visual Studio,.net Core,Nuget,我有一个带有xml文档文件(doc.xml)的NuGet包 我已经在我的项目中安装了NuGet软件包 我知道我想将NuGet文档文件doc.xml添加到我的解决方案中 我正在运行.NETCore3.1,但我不知道如何实现这一点 谢谢大家! 如果您的nuget项目是net standard或net core,请检查以下步骤: 1)在项目上名为build的文件夹下创建一个名为.props的文件 请注意,您应该确保nuget项目的包id与.props文件相同,否则它将无法工作。看 在我这边,我的nu
谢谢大家! 如果您的nuget项目是
net standard
或net core
,请检查以下步骤:
1)在项目上名为build的文件夹下创建一个名为.props
的文件
请注意,您应该确保nuget项目的包id
与.props
文件相同,否则它将无法工作。看
在我这边,我的nuget包名为test.1.0.0.nupkg
,因此我应该将该文件重命名为test.props
文件
<Project>
<Target Name="CopyFilesToProject" BeforeTargets="Build">
<ItemGroup>
<SourceScripts Include="$(MSBuildThisFileDirectory)..\File\*.*"/>
</ItemGroup>
<Copy
SourceFiles="@(SourceScripts)"
DestinationFolder="$(ProjectDir)"
/>
</Target>
</Project>
2)请将这些内容添加到test.props
文件中
<Project>
<Target Name="CopyFilesToProject" BeforeTargets="Build">
<ItemGroup>
<SourceScripts Include="$(MSBuildThisFileDirectory)..\File\*.*"/>
</ItemGroup>
<Copy
SourceFiles="@(SourceScripts)"
DestinationFolder="$(ProjectDir)"
/>
</Target>
</Project>
4)那么,打包项目时,结构应如下所示:
在安装此新版本的nuget软件包之前,您应该删除或只是删除C:\Users\xxx(当前用户)\.nuget\packages
下的所有缓存文件,以便在仍然安装旧版本的情况下删除旧版本
之后,重建主项目以执行目标,您将看到主项目文件夹下存在xml文档文件
此外,如果您使用的是netframework
项目,该链接还提供了方法
===========================
更新1
如果要将文件复制到bin\Release
或bin\Debug
,应修改步骤2,将其更改为在文件中使用
<ItemGroup>
<None Include="bin\Debug\netcoreapp3.1\test.xml(the path of the xml file in your nuget project)" Pack="true" PackagePath="File"></None>
<None Include="build\test.props(the path of the test.props file in your nuget project)" Pack="true" PackagePath="build"></None>
</ItemGroup>
<Copy
SourceFiles="@(SourceScripts)"
DestinationFolder="$(ProjectDir)$(OutputPath)"
/>
或者只是
<Copy
SourceFiles="@(SourceScripts)"
DestinationFolder="$(OutDir)"
/>
随你的便
在安装此新版本之前,您应该首先删除C:\Users\xxx(当前用户)\.nuget\packages
下的nuget缓存。哇,这是一个多么好的答案!我会尽快测试并尽快回复你!谢谢如果我想将xml文件复制到输出目录(bin/Bebug、bin/Release等),我该怎么做?现在我有DestinationFolder=“$(ProjectDir)$(Configuration)”,但xml文件既没有显示在bin/Debug中,也没有显示在bin/Release中。它实际上并没有显示在任何地方。最后一件事,我可以不使用$(OutDir)来代替吗?当然可以。这和你想要的效果一样。我已经更新了我的答案,你可以查看:)嗨,丹尼尔,有关于这个问题的更新吗?