У меня два вопроса по API контекста активации и манифестам SxS. Они выглядят очень простыми, но все же я не могу найти на них хорошего ответа.
У меня есть две библиотеки dll с именами файлов foo.dll и bar.dll, обе со встроенными манифестами, foo зависит от bar. Есть ли способ присвоить этим двум имя AssemblyIdentity, отличное от имени файла? Например, если я хочу, чтобы идентичность сборки bar.dll была CompanyName.Subsection.bar
? Если я изменю его идентичность вот так - я получаю ошибку при попытке загрузить foo.dll "Dependent Assembly CompanyName.Subsection.bar,type="win32",version="0.1.2.3" could not be found"
. Конечно, если я укажу идентификаторы сборки имен как имена файлов (<assemblyIdentity name="bar"
), все будет работать, но есть ли способ использовать эти имена, разделенные точками?
foo.dll
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="foo" version="0.1.2.3" type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity name="CompanyName.Subsection.bar" version="0.1.2.3" type="win32" />
</dependentAssembly>
</dependency>
<file name="foo.dll">
</file>
</assembly>
bar.dll
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="CompanyName.Subsection.bar" version="0.1.2.3" type="win32"/>
<file name="bar.dll">
</file>
</assembly>