Вызов Obfuscar на этапе после сборкиC#

Место общения программистов C#
Ответить
Anonymous
 Вызов Obfuscar на этапе после сборки

Сообщение Anonymous »

Я работаю над проектом C# WPF, и мне нужно немного запутать его. Я нашел Obfuscar, и он выглядит очень многообещающе, использование nuget и событий после сборки кажется надежным решением. Итак, я установил пакет nuget, добавил и настроил файл obfuscar.xml таким образом, чтобы он работал.

Однако команда post build относится к макрос $(Obfuscar), который не распознан. Теперь, когда я собираю свой проект, я получаю следующую ошибку сборки:


Команда «obfuscar.xml» завершилась с кодом 9009.


Обратите внимание на пустое место после первых кавычек: $(Obfuscar) явно не может быть разрешено каким-либо образом.
Я попробовал все шаги, описанные в документации и на других веб-сайтах, включая помещение макроса в кавычки, но не смог заставить его работать.

-- изменить --

Что я сделал:
- установил Nuget Obfuscar
- добавил файл obfuscar.xml с базовой конфигурацией
- добавлено событие после сборки
- попробуйте собрать

Что я пробовал с точки зрения событий после сборки:< /p>

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

$(Obfuscar) obfuscar.xml

Команда «obfuscar.xml» завершилась с кодом 9009.

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

"$(Obfuscar)" obfuscar.xml

Команда """ obfuscar.xml" завершилась с кодом 9009.


Я попробовал собрать и запустить пример проекта, и он работает отлично. Я скопировал событие после сборки (а не XML-файл) из примера проекта в свой проект, но это дает те же результаты.

Что я делаю Я не понимаю ни того, как Visual Studio могла знать, что означает $(Obfuscar), ни того, как преобразовать его в путь к исполняемому файлу Obfuscar. Нужна ли мне где-то какая-то конфигурация или это какой-то особый вид черной магии, которая должна работать?

-- изменить 2 --

Мне вроде удалось заставить его работать, скопировав исполняемый файл Obfuscar из папки nuget в папку в моем PATH ( C:\Windows на данный момент) как «obfuscar.exe» и просто используйте команду после сборки obfuscar obfuscar.xml. Я говорю вроде, потому что на самом деле использование nuget вместо скопированного исполняемого файла означает, что теперь у меня нет автоматических обновлений. Теперь, когда выйдет новая версия, мне придется копировать/вставлять ее вручную. Думаю, мне придется добавить это в файл readme, пока не появится лучшее решение.

Подробнее здесь: https://stackoverflow.com/questions/578 ... build-step
Ответить

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

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

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

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

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