2016-09-07 1 views
0

Я следую this tutorial, в котором объясняется, как прикрепить события после сборки к проекту.Визуальная студия висит после добавления события после сборки

Это мой .bat файл (пробовал с и без D:rem d вне):

CMD 
ECHO parameter=%1 
CD %1 
rem D: 
COPY WpfFileDeleter.exe temp.exe 
"..\..\ILMerge.exe" /out:"WpfFileDeleter.exe" "temp.exe" "Microsoft.WindowsAPICodePack.dll" "Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll" "Microsoft.WindowsAPICodePack.Sensors.dll" "Microsoft.WindowsAPICodePack.Shell.dll" "Microsoft.WindowsAPICodePack.ShellExtensions.dll" 
DEL temp.exe 

И я также добавил этот ILMerge.exe.config согласно учебник (я получаю ошибку Unresolved assembly reference not allowed):

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
     <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/> 
    </startup> 
</configuration> 

Но когда я строю свой проект в VS просто виснет с этим сообщением в Output:

1>------ Rebuild All started: Project: WpfFileDeleter, Configuration: Debug Any CPU ------ 

Я могу видеть, что некоторые файлы были скопированы в bin/debug, такие как .dlls я указал и temp.exe, но любые WpfFileDeleter.exe s не может работать должным образом, поскольку он не был слит должным образом.

Мой вопрос: Как отладить эту проблему? Есть ли способ вывода результатов ILMerge или процесса сборки, чтобы я мог видеть, где это происходит?

+2

Висит, как это почти всегда вызвано шаткий защиты от вредоносных программ. Никогда не нравится, когда исполняемые файлы появляются, казалось бы, нигде. Если вы используете Avast, особенно подвержены сканированиям, которые вешают навсегда, тогда планируйте избавиться от него как можно скорее. –

+0

@ HansPassant Спасибо за ваш комментарий! У меня нет ничего подобного, но я буду помнить об этом в будущем. См. Мой ответ, как я решил проблему - не знаю, почему связанный учебник не включил эту часть – Bassie

ответ

1

Я был в состоянии решить эту проблему, указав targetFramework при вызове ILMerge в пакетном файле:

"..\..\ILMerge.exe" /out:"WpfFileDeleter.exe" /targetPlatform:"v4" "temp.exe" "Microsoft.WindowsAPICodePack.dll" "Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll" "Microsoft.WindowsAPICodePack.Sensors.dll" "Microsoft.WindowsAPICodePack.Shell.dll" "Microsoft.WindowsAPICodePack.ShellExtensions.dll" 
Смежные вопросы