Второй встроенный ресурс не добавляется в основную DLL, а вместо этого в dll для нового языка - PullRequest
1 голос
/ 28 января 2011

У меня есть DLL, в которой некоторое время был встроенный ресурс, называемый cert1.p12.Он появляется в Reflector под ресурсами, и я могу получить к нему доступ из кода без проблем.Однако теперь я добавил новый встроенный ресурс с именем cert2.pem, пометил его как встроенный ресурс, и это показано в файле .csproj.Однако, когда я компилирую, он не появляется в Reflector, и я не могу получить к нему доступ из кода.

Однако теперь есть файл ресурсов для конкретного языка с ресурсом cert2.

Одна вещь, которую язаметил в выводе компилятора:

Csc.exe содержал строку с /resource:Provided\cert1.p12,BookingClient.Provided.cert.p12, но без упоминания о новом ресурсе.

Была также строка AL.exe с /embed:Provided\cert2.pem,BookingClient.Provided.cert2.pem

Одна разница между файлами - двоичная, а другая - текстовая.

Компилятор как-то по-разному относится к этим двум ресурсам?Как я могу сказать компилятору, что, несмотря на то, что файл является текстовым, он не является языковым ресурсом и должен помещаться в основную DLL.Мне даже не нужен специфический для языка ресурс dll.

Большое спасибо.

1 Ответ

0 голосов
/ 28 января 2011

Ааа разобрался. Вместо того, чтобы отмечать файлы как встроенные ресурсы, я добавил файл ресурсов, используя свойства, и добавил оба файла как файлы, теперь мне также не нужно преобразовывать поток в массив, я просто получаю доступ к массиву непосредственно из глобального объекта Resources .

Я на самом деле думал, что файлы ресурсов предназначены для случаев, когда вам нужен отдельный языковой файл, но в этом случае он идеален, и все находится в основном dll, как я и хотел.

...