我在dotnet项目中正在使用NuGet软件包源:
bar
源文件位于包的<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Bcl.Json.Sources" Version="4.6.0-preview.19073.11">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
</Project>
文件夹中,但在项目的根文件夹中可见。
这会导致现有文件的异常行为。
如何为该软件包指定项目文件夹位置?
答案 0 :(得分:1)
如何为NuGet源程序包指定特定文件夹?
恐怕没有这种方法可以直接为该软件包指定项目文件夹位置。因为此行为由程序包的内部文件结构确定。如果我们不是该软件包的作者/所有者,则无法更改该软件包的内部文件结构。
作为一种解决方法,您可以下载该nuget程序包并重新打包该程序包,然后使用Value
文件将目标文件夹更改为contentFiles/cs/netstandard2.0/Test/
:
.nuspec
然后将此包添加到您的local nuget package feed,然后使用此自定义nuget包,将所有这些<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata minClientVersion="2.12">
<id>Microsoft.Bcl.Json.Sources</id>
<version>4.6.0-preview.19073.11</version>
<title>Microsoft.Bcl.Json.Sources</title>
<authors>Microsoft</authors>
<owners>microsoft,dotnetframework</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<licenseUrl>https://github.com/dotnet/corefx/blob/master/LICENSE.TXT</licenseUrl>
<projectUrl>https://dot.net/</projectUrl>
<iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
<description>Add Description Here</description>
<releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<serviceable>true</serviceable>
<contentFiles>
<files include="cs/netstandard2.0/BitStack.cs" buildAction="content" flatten="true" copyToOutput="true"/>
<files include="cs/netstandard2.0/xx.cs" buildAction="content" flatten="true" copyToOutput="true"/>
...
</contentFiles>
</metadata>
<files>
<file src="build/netstandard2.0/Microsoft.Bcl.Json.Sources.targets" target="build" />
<file src="build/netstandard2.0/Strings.resx" target="build" />
<file src="contentFiles/cs/netstandard2.0/BitStack.cs" target="contentFiles/cs/netstandard2.0/Test/" />
<file src="contentFiles/cs/netstandard2.0/xx.cs" target="contentFiles/cs/netstandard2.0/Test/" />
...
</files>
</package>
文件添加到.cs
文件夹中:
希望这会有所帮助。