System.IO.Packaging

115

Мой проект настроен на .NET Framework 4.0. Когда я добавляю System.IO.Packaging, говорится, что его не существует. Он также не отображается, когда я пытаюсь добавить его в качестве ссылки на проект.

Как я могу добавить System.IO.Packagingв свой проект C #?

селезень
источник

Ответы:

171

Согласно комментарию пользователя на этой странице MSDN , вам необходимо добавить ссылку на библиотеку WindowsBase .Net.

Pedro
источник
20
Вам даже не нужен пользовательский комментарий. Если вы посмотрите документацию по любому из реальных методов / объектов / и т. Д. в пространстве имен все говорят «Assembly: WindowBase.dll»
dlev
Когда я перешел по ссылке в ответе, я не понял, откуда мне нужно добавить библиотеку WindowsBase.Net. Я добавил его, и теперь у меня есть доступ к system.io.packaging. Так что спасибо за это, но не могли бы вы объяснить, чего я не вижу в том, чтобы получить доступ к system.io.packaging через библиотеку WindowsBase.Net?
Алан
На странице раньше были комментарии пользователей, в которых упоминалась WindowsBase. Похоже, Microsoft удалила комментарии из своих документов.
Педро
81

Для решения C # в Visual Studio 2010 с .NET 4.0:

  1. В обозревателе решений вашего проекта щелкните правой кнопкой мыши ссылку "Ссылки" и выберите " Добавить ссылки" в контекстном меню.
  2. Выберите « Сборки» на левой панели, затем нажмите кнопку « Обзор» рядом с полем « Имя файла» рядом с нижней частью панели.
  3. Перейдите к справочным сборкам .NET 4.0 и выберите WindowsBase.dll . Например, на моей машине (Windows 7, 64-разрядная версия) полный путь:

C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ WindowsBase.dll

Сохраните решение (особенно если вы компилируете из командной строки с помощью MSBuild), и теперь вы сможете добавить директиву using System.IO.Packaging в начало файла .cs без появления ошибки.

Стив ХХХ
источник
4
Нет необходимости переходить к dll, она уже доступна в разделе «Сборки»> «Платформа».
Altaf Patel
@AltafPatel для меня он не появился, мне пришлось перейти к нему. Также убедитесь, что ваш проект настроен на компиляцию с соответствующей версией .NET указанного файла (в данном случае 4.0).
Дэвид Роджерс
4

System.IO.Packagingэто пространство имен, а не ссылка. Большинство (все?) Классов в пространстве имен, например ZipPackage , развернуты в WindowsBase.dll.

Убедитесь, что у вас есть ссылка на WindowsBase.dll- если да, вы можете просто добавить: using System.IO.Packaging;в свои файлы .cs, и все будет в порядке.

Обратите внимание, что вы можете увидеть это в документации для любого класса в MSDN . Например, в ZipPackageнем перечислены:

Namespace:  System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)
Рид Копси
источник
+1 - я не заметил, что отдельные страницы отмечают сборку для использования. Я ожидал, что это будет на главной странице пространства имен, но поскольку они не всегда совпадают, имеет смысл взглянуть на классы, которые могут вам понадобиться.
Педро
3

Пространство System.IO.Packagingимен предоставляется WindowsBase. Когда вы добавляете ссылку, добавляйте ее WindowsBaseкак ссылку, а не пытайтесь найти System.IO.Packaging.

Мэтью Эбботт
источник
2

System.IO.Packaging v4.0.30319 находится в WindowsBase.dll v4.0.30319

Для Windows 10 вы могли бы найти здесь

C: \ Windows \ Microsoft.NET \ сборка \ GAC_MSIL \ WindowsBase \ v4.0_4.0.0.0__31bf3856ad364e35 \

Арнонтхаваджана Чайнаронг
источник
0

В моем случае я использовал обработчик ashx. Для работы нужно добавить в проект сборку и обработчик:

<%@ WebHandler Language="C#" Class="UploadExcelFile2" %>
<%@ Assembly Name="WindowsBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>

Это, наконец, сработало для меня, несколько раз пытался добавить WindowsBase в качестве ссылки (перезапущенный VS, перезапущенный компьютер тоже), но все равно он не работал, пока я не добавил это явно на своей странице aspx. Я использовал: <%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>поскольку dll, на которую я ссылался, была версии 4.0.

Lanklaas
источник