Ошибка CS0012, как ее устранить при ссылке на другой пакет, например NPOI ⇐ C#
-
Anonymous
Ошибка CS0012, как ее устранить при ссылке на другой пакет, например NPOI
Проблема: у меня есть проект, ссылка на два пакета A и B, а также ссылка A на версию NPOI 2.6.0, но ссылка на версию B NPOI 2.6.2; насколько я понимаю. он должен автоматически использовать NPOI версии 2.6.2, и пакет будет совместим; но есть ошибка CS0012: тип «IWorkbook», определенный в сборке, на которую нет ссылки, необходимо добавить ссылку «NPOI, версия = 2.6.0.0, Culture = нейтральный, PublicKeyToken = 0df73ec7942b34e1 »; Я сомневаюсь, что ошибка связана с тем, что IWorkbook определен в сборке во время компиляции. Обновление версии NPOI с 2.6.0 до 2.6.2, не удается найти пакет? Я не могу понять логику, кто может мне объяснить? Спасибо. это структура пакета NPOI:Структура пакета NPOI ошибка здесь: ошибка это код, который я использую IWorkBook:
публичный статический класс ExcelFactory { общедоступный статический ISheet WithSheet (эта книга IWorkbook, строковое имя листа) { вернуть книгу.CreateSheet(sheetName); } публичный статический IWorkbook CreateWorkBook() { вернуть новую XSSFWorkbook(); } общедоступный статический IWorkbook CreateWorkBook (этот поток потока) { вернуть новую XSSFWorkbook(поток); } public static byte[] ToArray (эта книга IWorkbook) { используя поток var = новый MemoryStream(); рабочая книга.Write(поток, правда); возвратный поток.ToArray(); } } скомпилированный код выглядит следующим образом:
пространство имен ExcelUtile { общедоступный статический класс ExcelFactory { общедоступный статический ISheet WithSheet (эта книга IWorkbook, строковое имя листа) { вернуть книгу.CreateSheet(sheetName); } публичный статический IWorkbook CreateWorkBook() { return (IWorkbook)(объект)new XSSFWorkbook(); } общедоступный статический IWorkbook CreateWorkBook (этот поток потока) { вернуть (IWorkbook) (объект) новую XSSFWorkbook (поток); } public static byte[] ToArray (эта книга IWorkbook) { использование MemoryStream MemoryStream = новый MemoryStream(); workbook.Write((Stream)memoryStream, true); вернуть памятьStream.ToArray(); } } } Кто может мне объяснить, почему возникла эта проблема, как решить эту проблему cs0012
Проблема: у меня есть проект, ссылка на два пакета A и B, а также ссылка A на версию NPOI 2.6.0, но ссылка на версию B NPOI 2.6.2; насколько я понимаю. он должен автоматически использовать NPOI версии 2.6.2, и пакет будет совместим; но есть ошибка CS0012: тип «IWorkbook», определенный в сборке, на которую нет ссылки, необходимо добавить ссылку «NPOI, версия = 2.6.0.0, Culture = нейтральный, PublicKeyToken = 0df73ec7942b34e1 »; Я сомневаюсь, что ошибка связана с тем, что IWorkbook определен в сборке во время компиляции. Обновление версии NPOI с 2.6.0 до 2.6.2, не удается найти пакет? Я не могу понять логику, кто может мне объяснить? Спасибо. это структура пакета NPOI:Структура пакета NPOI ошибка здесь: ошибка это код, который я использую IWorkBook:
публичный статический класс ExcelFactory { общедоступный статический ISheet WithSheet (эта книга IWorkbook, строковое имя листа) { вернуть книгу.CreateSheet(sheetName); } публичный статический IWorkbook CreateWorkBook() { вернуть новую XSSFWorkbook(); } общедоступный статический IWorkbook CreateWorkBook (этот поток потока) { вернуть новую XSSFWorkbook(поток); } public static byte[] ToArray (эта книга IWorkbook) { используя поток var = новый MemoryStream(); рабочая книга.Write(поток, правда); возвратный поток.ToArray(); } } скомпилированный код выглядит следующим образом:
пространство имен ExcelUtile { общедоступный статический класс ExcelFactory { общедоступный статический ISheet WithSheet (эта книга IWorkbook, строковое имя листа) { вернуть книгу.CreateSheet(sheetName); } публичный статический IWorkbook CreateWorkBook() { return (IWorkbook)(объект)new XSSFWorkbook(); } общедоступный статический IWorkbook CreateWorkBook (этот поток потока) { вернуть (IWorkbook) (объект) новую XSSFWorkbook (поток); } public static byte[] ToArray (эта книга IWorkbook) { использование MemoryStream MemoryStream = новый MemoryStream(); workbook.Write((Stream)memoryStream, true); вернуть памятьStream.ToArray(); } } } Кто может мне объяснить, почему возникла эта проблема, как решить эту проблему cs0012
Мобильная версия