Ошибка: «Невозможно скопировать файл» с файлом содержимого в пакете nuget - PullRequest
0 голосов
/ 27 мая 2019

Я использую устаревшее веб-приложение с msbuild "Visual Studio Build Tools 2017" версия 15.9.12.Это веб-приложение ссылается на пакет NuGet (используется PackageReference ), который включает изображение в качестве файла содержимого.

<ItemGroup>
    <Content Include="Resources\Image.png" />
</ItemGroup>

Здесь часть файла Nuspec , сгенерированная впакет:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
    <metadata>
        ...
        <dependencies>
            ...
        </dependencies>
        <frameworkAssemblies>
            ...
        </frameworkAssemblies>
        <contentFiles>
            <files include="any/net471/Resources/Image.png" buildAction="Content" />
            <files include="any/net471/Resources/Image.png" buildAction="Content" />
        </contentFiles>
    </metadata>
</package>

Странно, изображение появляется дважды в contentFiles, но это не проблема.

Сборка завершается с ошибкой:

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ Microsoft \ VisualStudio \ v15.0 \ WebApplications \ Microsoft.WebApplication.targets (182,5): ошибка MSB3021: невозможно скопировать файл "C: \Пользователи \ user.nuget \ packages \ mypackage \ 1.0.0-release-anycpu \ contentFiles \ any \ net471 \ Resources \ Image.png "в" C: \ Builds \ Binaries \ _PublishedWebsites \ WebApplication.NET471 \ C: \ Users \user.nuget \ пакеты \ MyPackage \ 1.0.0-релиз-AnyCPU \ contentFiles \ любой \ net471 \ Resources \ image.png».Формат данного пути не поддерживается.

Обратите внимание на двойной c:\ в пути вывода.
Когда я строю из VisualStudio, там нет ошибок, но файл не находится в выходном каталоге

...