#visual-studio #.net-core #nuget
#visual-studio #.net-core #nuget
Вопрос:
dotnet pack
создает дополнительную папку для файлов без расширения при упаковке staticwebassets.
Пример:
если в wwwroot / myfolder / myfile есть файл, он упаковывает его как wwwroot /myfolder / myfile /myfile
Однако package .props содержит правильный исходный путь и структуру. Это эффективно предотвращает публикацию проектов, в которых есть ссылка на этот пакет, потому что во время публикации задача msbuild вводит в заблуждение список файлов .props и выдает, например:
Ошибка MSB3025: исходный файл «C:Program Файлыdotnetsdk5.0.101SdksMicrosoft.NET.SdktargetsMicrosoft.NET.Publish.targets(237,5): C:Usersmyname.nugetpackagesthepackage1.0.0staticwebassetsassetslibsflot-chartsMakefile » на самом деле это справочник. Задача «Копировать» не поддерживает копирование каталогов.
Может ли кто-нибудь предложить обходной путь (помимо удаления или переименования файлов)?
Комментарии:
1. Есть какие-либо обновления по этой проблеме?
Ответ №1:
Похоже, что что-то не так с задачей копирования из вашего <packages_id>.props
файла,
Задача копирования должна работать с файлами, а не с папкой, поэтому вы должны использовать это:
<ItemGroup>
<File Include="$(MSBuildThisFileDirectory)xxxstaticwebassetsassetslibsflot-chartsMakefile*.*"></File>
</ItemGroup>
<Target Name="xxx" AfterTargets="xxx">
<Copy SourceFiles="@(File)" DestinationFolder="xxx"></Copy>
</Target>
Комментарии:
1. Perry файл .props генерируется автоматически, если в нем есть ошибка, это сама проблема. Если в моих проектах нет артефактов, связанных с созданием пакетов, только файлы csproj. Весь процесс использует все значения по умолчанию и чистую команду dotnet pack
2. Вы использовали проект библиотеки классов razor? Не уверен, что ваш тип проекта и ваша подробная ситуация. Вы должны предоставить дополнительные инструкции о вашей ситуации, чтобы помочь нам устранить проблему. Возможно, вы могли бы поделиться небольшим образцом с github. Кроме того, вы должны установить
Build Action
файлы вwwwroot
папке из вашего проектаContent
.