2015-11-02 2 views
1

Это не имеет смысла.Использование System.Device в проекте MVC

Я пытаюсь использовать библиотеку System.Device в проекте, чтобы воспользоваться возможностями геопозиции. Я добавляю код на страницу Razor, как обычно.

У меня есть ссылка на библиотеку, и я добавил, используя в верхнюю части представления бритвы:

@using System.Device; 

Устройства имеет красное подчеркивание, потому что не может быть найдено. Ввод System.D не дает Device в intellisense. Это, по-видимому, не имеет смысла, так как библиотека определенно.

Веб.конфигурация находится в Просмотры не имеет значения System.Device. Если я сделаю полный поиск решения для «устройства», нет никаких упоминаний об этом в любом месте, чего я не ожидал бы.

У меня есть открытые и закрытые файлы, удаленные ссылки, перезагрузка VS, перезагрузка моего компьютера. Все. Он по-прежнему сохраняется.

Мне кажется, что есть что-то, чего я не знаю, или я делаю что-то глупое. Я что-то упустил?

+0

Вы хотите геолокацию сервера или клиента? Страницы Razor работают на стороне сервера, а не на стороне клиента. –

+0

Я просто хочу использовать функциональность, я на самом деле просто использую методы, которые говорят мне разницу между лат-длинными коордами. – Jon

+0

Вместо того чтобы пытаться включить это, просто получите формулу для большого расстояния круга и используйте ее, простой расчет и не требует, чтобы вы попытались включить библиотеку, которая не имеет отношения к ASP. –

ответ

1

Web.config находится в Views, не имеет упоминания System.Device.

Вам необходимо добавить System.Device в свой web.config. В зависимости от того, используете ли вы области, вам может понадобиться добавить его в web.config для этой области. Если это не в web.config, бритва об этом не знает.

<namespaces> 
    <add namespace="System.Device" /> 
</namespaces> 

Далее, попробуйте установить Copy Local Истину для ссылочных свойств System.Device. Это не сработало для меня, пока я не сделал оба.

+0

Вы можете ссылаться на библиотеку на отдельные виды бритвы, введя '@ System.Whatever.Library' в верхней части вашего представления, так же, как вы будете использовать любой файл C#. – Jon

+0

Как установить ссылку на Copy Local = true? –

+0

Комбинация локальной копии и добавление ее в web.config - это то, что, казалось, решило это. Я хотел бы понять, почему это решило проблему, когда я ссылаюсь на другие библиотеки в верхней части представлений Razor. Кажется, не имеет никакого смысла. – Jon