На компьютере у одного пользователя не установлен SqlClient. Соответственно у меня используются экземпляры класса System.Data.SqlClient. И у него программа не работает. Пыталась собирать класс с установленным признаком "Внедрить типы взаимодействия". Выдается ошибка: Внедрение типов взаимодействия из сборки "c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.Data.dll" невозможно, поскольку у нее отсутствует атрибут "ImportedFromTypeLibAttribute" или атрибут "PrimaryInteropAssemblyAttribute". c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.Data.dll Что можно сделать?
Asked
Active
Viewed 325 times
2 Answers
2
Классы из System.Data.SqlClient являются частью .NET Framework. Если у кого то их нету, им нужно переустановить .NET Framework.
Параметр "Внедрить типы взаимодействия" можно применять только для сборок, являющихся обертками для взаимодействия с библиотекой COM-объектов. Для внедрения произвольных сборок смотрите в сторону ILMerge.
MSDN.WhiteKnight
- 20,179
-
Я так поняла, что у него все же установлен .Net Framework. Есть папка c:\Windows\Microsoft.NET\Framework\v4.0.30319 и в ней System.Data.dll – DHel Dec 06 '18 at 09:20
-
@DHel Ну, может она повреждена. А какую конкретно ошибку пишет на его компьютере? – MSDN.WhiteKnight Dec 06 '18 at 09:28
1
Используйте nuget пакет для этого и развертываете ваше приложение "закрыто". Производите копировани всех сборок, модулей и файлов-ресурсов при разворачивании на целевую машину.
Denis Derkach
- 368