Ответ 1
Если вы застряли в использовании библиотеки, предоставленной кем-то еще, и если попытки лоббировать их для создания переносимой версии вряд ли удастся, то единственное, что вы можете сделать, это найти где-нибудь еще место для размещения DLL, а затем общаться с тем, что его размещает. Например, для некоторых сценариев может быть возможно написать, скажем, службу ASP.NET Web API, которая сможет использовать полную платформу .NET Framework и, таким образом, сможет использовать DLL.
Очевидно, что это касается одной проблемы для другого: теперь вам нужно иметь машину, которая может запускать для вас веб-службу. (И, к сожалению, я считаю, что Microsoft официально не поддерживает запуск этого веб-приложения на том же компьютере, на котором работает приложение Windows Store. Возможно, вы сможете заставить его работать в своем блоке dev, но вы не сможете развернуть его веб-приложение через Windows Store.)
И здесь нет простого пути - вам придется писать слой, отображающий все, что вам нужно, через службы HTTP, а клиентский код - для использования этих сервисов. И вам также нужно подумать о том, как обеспечить доступ к службе.
Вам может быть проще обратиться к вашему поставщику...
В теории, если так получится, что библиотека не использует ничего за пределами основного профиля .NET, тогда вы можете использовать ILDASM и ILASM для декомпилирования и повторной компиляции кода, преобразования его в переносимую библиотеку перед этим. Однако это может привести к нарушению вашего лицензионного соглашения, если это коммерческий код и, в любом случае, вряд ли сработает.