Проблема такая. Написал библиотеку типов на C#. Пока дебажил проблем не было, так как проект самой библиотеки входил в решения приложений и пересобирался вместе с ними. Но как только стало нужно изолировать приложения друг от друга, ожидаемо появились проблемы. Нужно сделать так, чтобы приложения видели мою библиотеку по имени, то есть чтобы не было обязательно ее присутствие в той же папке, где находится приложение.
Сначала пробовал зарегистрировать DLL для COM-взаимодействия, но для этого придется переписывать бОльшую часть кода библиотеки. Потом обратил внимание на вариант с GAC, но и тут не получилось, так как регистрация проходит, но я не вижу сборку в списке в Visual Studio. Внятного ответа на то, как включить библиотеку в этот список найти на просторах интернета не смог.
Регистрировал командой к приложению C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\gacutil.exe -i [Путь к приложению]. После утилита показывала мне, что библиотека действительно зарегистрирована, но в списке она не появлялась(
Как правильно добавить DLL в проект, если она самописная и зарегистрирована в GAC? Из разговора в комментах понял, что меня спасет только он (в смысле GAC).
Как делал я: прогнал команду в консоли способом, описанным выше, далее в проекте попытался добавить ссылку на нее, но библиотеки не нашел. Может я не там искал?
UPD: После прочтения всех статей ни одна не помогла. Описываемых веток реестра не существует. Единственное, что работает, это поместить сборку по адресу C:\Windows\Assembly она становится видимой, но это не вариант.
Правильный ответ - никак. Так как при добавлении в GAC уже невозможно воспользоваться подсказками (читай - intellisence-ом), нужно добавлять функции на лету. В моей ситуации есть 2 выхода. Первый - переписывать dll на com, и ссылаться на нее без копирования в директорию. Но не будет конструкторов и многого другого, плюс - все переписать. Второй - включать в проект приложения проект библиотеки и таскать ее вместе с собой, что неудобно в плане развертывания. Я выбрал второй вариант, так как переписывать все неохота. Спасибо за отсутствие ответов и запихивание бесполезных ссылок на msdn.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я нашел вариант в интернете, где Frame управляется созданием страниц из VM главного окна:
Нужно открыть файл csv с разделителем ";" из C# в Excel
Есть адрес памяти 0x7C4540, и я хочу записать/получить из него значениеКак мне это сделать в C#?
Много где читал, но везде или свайп, или просто нажатие на экранКак сделать, чтобы пользователь должен был удерживать палец на экране и перемещать...