Contentfile в nuget компилируется, вызывая ошибки сборки - PullRequest
1 голос
/ 31 января 2020

У меня есть nuget, в котором есть файл содержимого. Это json file и обозначается в файле nuspe c, когда nuget упакован.

При установке nuget в обычном wpf-приложении я получаю пару ошибок сборки. Похоже, что Visual Studio пытается скомпилировать .json file. Хотите знать, если кто-нибудь знает, что может быть причиной этого. Как вы увидите в фрагменте nuspe c, у меня есть BuildAction=None в nuspe c

ContentFile. json (1,1,1,2): ошибка CS1022: Определение типа или пространства имен или ожидаемый конец файла

ContentFile. json (4,16,4,26): ошибка CS1001: ожидается идентификатор

ContentFile. json ( 4,37,4,45): ошибка CS1001: ожидается идентификатор

enter image description here

1 Ответ

0 голосов
/ 03 февраля 2020

При установке nuget в обычном wpf-приложении я получаю пару ошибок сборки. Похоже, что Visual Studio пытается скомпилировать файл. json. Хотите знать, если кто-нибудь знает, что может быть причиной этого. Как вы увидите в фрагменте nuspe c, у меня BuildAction = Нет в nuspe c

Я думаю, что главное в том, что вы ошибочно предполагаете, что <files include="path"> - это путь исходный файл ContentFile.json в вашем текущем проекте nuget, который фактически является путем к папке contentFiles внутри пакета nuget (xxxx.nupkg). (Вы можете просмотреть contentFiles распаковывая файл xxx.nupkg).

Кроме того, вы можете проверить этот официальный документ для получения более подробной информации.

В качестве правильного руководства, вы можете попробовать этот шаг:

Решение

изменить их в xxx.nuspec файле

....
<metadata>
....
<contentFiles>
<files include="any/any/ContentFile.json"(the relativepath of the file under the ContentFiles folder in the xxx.nupkg) buildAction="None" copyToOutput="true" flatten="false" />
</contentFiles>
</metadata>

<files>
<file src="xxxxx/Resource/ContentFile.json(the relativePath of the file under the nuget project)" target="contentFiles/any/any" />
</files>
....

Перед установкой этого пакета в другой проект, не забудьте очистить кеш nuget .

В дополнении вы можете проверить эту ветку для получения дополнительной информации.

Надеюсь, это может помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...