Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux上的dotnet还原不包括nuget包中的XML文件_Linux_Msbuild_Nuget_Dotnet Restore - Fatal编程技术网

linux上的dotnet还原不包括nuget包中的XML文件

linux上的dotnet还原不包括nuget包中的XML文件,linux,msbuild,nuget,dotnet-restore,Linux,Msbuild,Nuget,Dotnet Restore,我有一个VisualStudio解决方案,正在尝试构建在Linux安装的Docker上运行的解决方案。作为过程的一部分,我需要从我的招摇过市文档的一个nuget包中复制XML文档。在我的windows开发盒上,我可以做到这一点,但在Linux上它不起作用。问题似乎是,当我在linux上查看nuget包的lib文件夹时,我只看到了一个.dll,而在Windows上,我同时看到了.dll和.xml。下面是我的恢复命令 RUN dotnet restore "src/Management/Manage

我有一个VisualStudio解决方案,正在尝试构建在Linux安装的Docker上运行的解决方案。作为过程的一部分,我需要从我的招摇过市文档的一个nuget包中复制XML文档。在我的windows开发盒上,我可以做到这一点,但在Linux上它不起作用。问题似乎是,当我在linux上查看nuget包的lib文件夹时,我只看到了一个.dll,而在Windows上,我同时看到了.dll和.xml。下面是我的恢复命令

RUN dotnet restore "src/Management/Management.csproj"
为什么没有在linux上提取XML文件


另一方面,linux似乎使用所有小写字母创建目录。因此,如果我提取nuget-package-Test.MyPackage-3.4.3,它将位于linux上的/root/.nuget/../Test.MyPackage/3.4.3。在我的csproj文件中,我使用
%(PackageReference.Identity)
引用包,它返回大小写。这方面也有解决办法吗?

不确定这是否仍然是一个相关问题

在Microsoft提供的Docker映像中,有一个Env变量
NUGET\u XMLDOC\u MODE
,该变量设置为
skip

如果在Dockerfile中将其更改为
ENV NUGET\u XMLDOC\u MODE=none
,则会解决此问题。但是,图像生成时间肯定会增加,因此您可以考虑将<代码> dotnet还原< /C>作为单独的步骤来启用缓存。

更多信息可以在这里找到
不确定这是否仍然是一个相关问题

在Microsoft提供的Docker映像中,有一个Env变量
NUGET\u XMLDOC\u MODE
,该变量设置为
skip

如果在Dockerfile中将其更改为
ENV NUGET\u XMLDOC\u MODE=none
,则会解决此问题。但是,图像生成时间肯定会增加,因此您可以考虑将<代码> dotnet还原< /C>作为单独的步骤来启用缓存。

更多信息可以在这里找到

NuGet应该从所有操作系统上的nupkg中提取所有文件,因此我最好的猜测是,在不同的NuGet源上有两个版本相同的包,一个有xml,一个没有xml。这个包是公共的吗,所以你可以给我们指出它,我们可以自己看看?我正在使用一个非公共包,但对Microsoft.AspNetcore.Mvc.Version v3.1.6做了更改,并看到了相同的结果。NuGet应该从所有操作系统上的nupkg中提取所有文件,所以我最好的猜测是,在不同的nuget源上有两个版本相同的包,一个有xml,一个没有。这个包是公共的吗?您可以给我们指出它,我们可以自己看一看吗?我正在使用一个非公共的包,但对Microsoft.AspNetcore.Mvc.Version v3.1.6进行了更改,并看到了相同的结果。