Відповіді:
Відповідно до коментаря користувача на цій сторінці MSDN , ви повинні додати посилання на бібліотеку .Net WindowsBase.
Для рішення C # в Visual Studio 2010 з .NET 4.0:
C: \ програмні файли (x86) \ довідкові збори \ Microsoft \ Framework \ .NETFramework \ v4.0 \ WindowsBase.dll
Збережіть рішення (особливо якщо ви компілюєте з командного рядка з MSBuild) і тепер вам слід мати змогу додати використання директиви System.IO.Packaging у верхню частину файлу .cs без появи помилок.
Також ми можемо додати WindowsBase.dll в Dot Net Framework 3.5. Я використовую машину XP і Path for WindowsBase.dll є
C: \ програмні файли \ довідкові збори \ Microsoft \ Framework \ .NETFramework \ v3.5 \ профіль \ клієнт \ WindowsBase.dll
Приклад використання System.IO.packaging
наведено тут -
System.IO.Packaging
це простір імен, а не посилання. Більшість (усіх?) Класів у просторі імен, наприклад, ZipPackage , розгорнуто в WindowsBase.dll
.
Переконайтеся, що у вас є посилання на WindowsBase.dll
- якщо ви це зробите, ви можете просто додати: використовуючи System.IO.Packaging;
у ваші .cs файли, і ви будете добре.
Зауважте, що ви можете бачити це в документації для будь-якого класу на MSDN . Наприклад, у ZipPackage
списку:
Namespace: System.IO.Packaging
Assembly: WindowsBase (in WindowsBase.dll)
System.IO.Packaging
Простір імен забезпечується WindowsBase
. Коли ви додаєте посилання, додайте WindowsBase
як посилання, а не намагаючись знайти System.IO.Packaging
.
Потрібно додати посилання на WindowsBase.dll. System.IO. Упаковка знаходиться там.
Дивіться цю статтю для більш детальної інформації:
http://msdn.microsoft.com/en-us/library/system.io.packaging.package.aspx
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 \
У моєму випадку я використовував обробник 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.