Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2013, 01:33   #1
stirn
Новичок
Джуниор
 
Регистрация: 22.02.2013
Сообщений: 2
По умолчанию Вебсервис, компилятор, пропущена ссылка на сборку

Добрый день!

Есть WebService, внутри него WebMethod'ы. Создаются объекты System.Security.Cryptography.X509Ce rtificates.X509​Certificate2 и System.Security.Cryptography.Pkcs.S ignedCms. Соответственно:
Код:
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography.Pkcs;
а в проект добавляю сборки System.dll и System.Security.dll. Ошибок в проекте нет. Однако код не выполняется на сервере:

Код:
Сообщение об ошибке компилятора: CS0234: Имя типа или пространства имен 'Pkcs' отсутствует в пространстве имен 'System.Security.Cryptography' (пропущена ссылка на сборку?)
Строка 14: using System.Security.Cryptography.X509Certificates;
Строка 15: using System.Security.Cryptography.Pkcs;

Из выходных данных компилятора:
Код:
c:\windows\system32\inetsrv> "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /t:library /utf8output /R:"... {здесь я не нашёл ссылки на System.Security.dll}"

Не понимаю, где указать, чтобы компилятор загружал пропущенную сборку?
stirn вне форума Ответить с цитированием
Старый 22.02.2013, 09:40   #2
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию

Цитата:
Сообщение от stirn Посмотреть сообщение
Добрый день!

Есть WebService, внутри него WebMethod'ы. Создаются объекты System.Security.Cryptography.X509Ce rtificates.X509​Certificate2 и System.Security.Cryptography.Pkcs.S ignedCms. Соответственно:
Код:
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography.Pkcs;
а в проект добавляю сборки System.dll и System.Security.dll. Ошибок в проекте нет. Однако код не выполняется на сервере:

Код:
Сообщение об ошибке компилятора: CS0234: Имя типа или пространства имен 'Pkcs' отсутствует в пространстве имен 'System.Security.Cryptography' (пропущена ссылка на сборку?)
Строка 14: using System.Security.Cryptography.X509Certificates;
Строка 15: using System.Security.Cryptography.Pkcs;

Из выходных данных компилятора:
Код:
c:\windows\system32\inetsrv> "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /t:library /utf8output /R:"... {здесь я не нашёл ссылки на System.Security.dll}"

Не понимаю, где указать, чтобы компилятор загружал пропущенную сборку?
Использую не .NET Framework/VS для программирования, а Gtk#/MonoDevelop, но все же позволю себе сделать предположения:
  1. во-первых, в каком режиме собирается проект (Debug или Release)? - если Debug(отладка), то библиотеки (DLL) фактически не подцепляются к проекту и именно поэтому он не может найти ссылки на них;
  2. во-вторых, как понимаю, на твоей машине код работает (при отладке), а на сервере нет, тогда рискну предположить, что на сервере могут просто отсутствовать необходимые библиотеки (были не установлены, удалены и т.д.)
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 22.02.2013, 15:18   #3
stirn
Новичок
Джуниор
 
Регистрация: 22.02.2013
Сообщений: 2
По умолчанию

Я пока не очень силён в терминах. Читаю Рихтера, но программировать надо сразу.
Объясню как сумею.
На клиентской стороне выполняется код на JavaScript. Результат выполнения посылается на сервер через AJAX
Код:
..., url: "WebService.asmx/reply", ..., contentType: "application/json; charset=utf-8", dataType: "json", ...
На сервере WebService.asmx ссылается на WebService.cs, в котором есть
Код:
[WebMethod] ... reply { ... }
Сам WebService.cs редактирую в Visual C# Express (на том же сервере), чтобы браузить объекты, проверять синтаксис и так далее. Вот и получается, что изнутри проекта всё без ошибок, сборка System.Security.dll видна. Но при компиляции WebService.asmx (загрузка страницы localhost/WebService.asmx в браузере) - ошибка, сборка не видна, в параметрах строки компилятора она не добавляется.
stirn вне форума Ответить с цитированием
Старый 23.02.2013, 10:50   #4
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию

Цитата:
Сообщение от stirn Посмотреть сообщение
Я пока не очень силён в терминах. Читаю Рихтера, но программировать надо сразу.
Объясню как сумею.
На клиентской стороне выполняется код на JavaScript. Результат выполнения посылается на сервер через AJAX
Код:
..., url: "WebService.asmx/reply", ..., contentType: "application/json; charset=utf-8", dataType: "json", ...
На сервере WebService.asmx ссылается на WebService.cs, в котором есть
Код:
[WebMethod] ... reply { ... }
Сам WebService.cs редактирую в Visual C# Express (на том же сервере), чтобы браузить объекты, проверять синтаксис и так далее. Вот и получается, что изнутри проекта всё без ошибок, сборка System.Security.dll видна. Но при компиляции WebService.asmx (загрузка страницы localhost/WebService.asmx в браузере) - ошибка, сборка не видна, в параметрах строки компилятора она не добавляется.
Тогда тут совсем другая проблема. Т.к. сам никогда с AJAX не работал, понятия не имею что и как, но рискну сделать небольшое предложение: ни проще ли все написать на C# с использованием TcpClient(для клиента) и TcpListener(для сервера)? Таким образом получишь более ясную реализацию и сможешь без труда все проверить.
Если интересно, то могу отослать тебе свой учебный код по использованию указанных классов (чиркни в личку, если что)
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вебсервис на с#. хостинг windows. создание файлов zigler C# (си шарп) 2 29.02.2012 21:02
Оцениваем сборку маГГ Компьютерное железо 10 25.09.2011 20:53
Проверьте сборку Mrsoftex Компьютерное железо 0 01.09.2011 18:03
засыпающий вебсервис Teks ASP.NET 1 26.08.2011 17:33
Оцените сборку! Pushin Компьютерное железо 3 23.06.2011 07:25