2011-01-09 6 views
0

Я использую ILMerge как событие post build, чтобы объединить некоторые DLL в одну dll. Он работает и объединяет DLL, но имеет эту странную проблему. По мере создания проекта открываются dll (только внешние dll, а не dll проекта)! И сборка не будет работать только при закрытии приложения, которое открывает DLL, в этом случае я установил отражатель как приложение по умолчанию для открытия dll. Командой события post build, которую я использую, является:Ilmerge вызывает dll для открытия во время сборки

"..\..\..\..\..\..\..\External\Tools\ILMerge\2.10.0\ILMerge" /out:"$(ProjectDir)$(OutDir)Combined.dll" "$(TargetPath)" 
"$(ProjectDir)$(OutDir)Core.dll" 
"$(ProjectDir)$(OutDir)Resolver.dll" 
"$(ProjectDir)$(OutDir)AjaxMin.dll" 
"$(ProjectDir)$(OutDir)Yahoo.Yui.Compressor.dll" "$(ProjectDir)$(OutDir)EcmaScript.NET.modified.dll" 

У кого-нибудь есть проблемы с этим?

ответ

1

Хехе, своего рода смешно. Удалите разрывы строк между именами DLL. Я отредактирую ваше сообщение, чтобы сделать его очевидным.

С DLL в одной строке это интерпретируется как команда сборки вместо аргумента ILMerge. Он вызывает действие по умолчанию для DLL-файла, который в вашем случае «открыт в Reflector».

+0

Jee that's weird one! Положите их все на одну строку, и это сработает. Благодаря! – amateur

+0

Я внес изменения, которые вы предложили, и он разрешает открытие файлов с проблемой рефрактора. Но теперь я получаю сообщение об ошибке «с кодом 1». Любая идея, что может быть причиной этого? – amateur

+0

Это больше не имеет никакого отношения к этому вопросу. Пожалуйста, запустите другой, не забудьте правильно его документировать. –