Локализация wpf - locbaml - файл используется другим процессом

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

locbaml.exe / generate de / App.UI.resources.dll /trans:MeineRess_de.csv / out: de / cul: de

После выполнения я получаю следующую ошибку:

Процесс не может получить доступ к файлу, потому что он используется другим процессом. (Исключение из HRESULT: 0x80070020)

Кто-нибудь может мне помочь, Thx

2 ответа

Вывести в отдельную папку попробуйте, например, c:\ это будет работать

locbaml.exe /generate de/App.UI.resources.dll /trans:MeineRess_de.csv /out:c:\ /cul:de

Для потомков: имя файла без флага командной строки является исходной сборкой ввода. Итак, вы читаете в de/App.UI.resources.dll, а затем /out:de пытается записать в тот же файл в той же папке. Возможно, вы хотите изменить файл de/App.UI.resources.dll на [UiCulture]/App.UI.resources.dll, где [UiCulture] - это из файла проекта, который должен соответствовать атрибуту NeutralResourcesLanguage в вашей сборке (AssemblyInfo.cs нормально).

Возможно, вы на законных основаниях хотите перезаписать исходную DLL (хотя я не думаю, что это имеет смысл), но это не будет возможно как есть, потому что locbaml будет загружать сборку из файла, который держит дескриптор файла открытым до выхода из приложения. (Технически, пока AppDomain не будет уничтожен.)

Другие вопросы по тегам