Бросьте построение времени, если библиотека классов была указана, но пользовательские цели не были импортированыC#

Место общения программистов C#
Ответить
Anonymous
 Бросьте построение времени, если библиотека классов была указана, но пользовательские цели не были импортированы

Сообщение Anonymous »

У меня есть библиотечный проект класса (C#), который содержит пользовательскую логику сборки в пользовательском файле .target . Чтобы правильно употреблять эту библиотеку классов, для потребляющего проекта обязательно включать не только
, но и для пользовательских целей.

Код: Выделить всё

    




< /code>
Пользовательские цели используются для прикрепления к точкам расширения процесса сборки проекта по потреблению (приложение Mac OS) и выполните следующее во время основного процесса сборки приложения < /p>

[*] Создайте и публикуйте исполняемый помощник (Br /> 
HeartBeatHandlerMac
) из выделенного проекта.
Прикрепить к точкам расширения строительства пучка приложений и процесса подписания (который реализован Net SDK для MacOS) для копирования HeartBeathandlermac создать артефакты внутри приложения основного применения и правильно подписать все. (См. Пользовательские целевые источники ниже, если это необходимо). < /li>
< /ul>
Если пользовательские цели не импортируются, у нас будет ошибка времени выполнения, так как исполняемый помощник не будет. в случае неудачи в случае, если в библиотеку классов был добавлен, но для пользовательских целей был пропущен. Это должно быть сделано без какой -либо пользовательской логики, добавленной вручную в поглощающем проекте. Таким образом, необходимый вариант использования следующим образом: разработчик добавляет , получает ошибку времени на сборку, сообщающая «Пожалуйста, добавьте целевой импорт», добавляет импорт и теперь полностью настроил готовое к использованию решение.
Источники целей (

Код: Выделить всё

custom.targets
):



































$(CreateAppBundleDependsOn);GetBundleFiles;CopyOurFiles;




$(GetCopyToOutputDirectoryItemsDependsOn);GetBundleFiles;CopyOurFilesBin;















< /code>
Примечание: я понимаю, что я могу создать пакет Nuget, который автоматически импортирует пользовательские цели, но я считаю, что он будет излишним здесь из -за дополнительных осложнений с разработкой, тестированием и распространением пакетов Nuget. Также поддержка частных каналов Nuget плохая в наиболее инструментах, которые я использую.


Подробнее здесь: https://stackoverflow.com/questions/797 ... argets-was
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»