Не удается найти ошибку пространства имен System.Web.Script.Service после обновления до Visual Studio 2010 - PullRequest
7 голосов
/ 16 июня 2010

Я только что обновил проект VS 2008 до VS 2010, преобразовал проект, но сохранил цель как .NET 3.5 (SP1 установлен).Мой проект без проблем работал под VS 2008 на другом компьютере.

Я добавил ссылки на System.Web.Extensions.dll, но все еще получаю следующие ошибки из кода в папке App_Code:

1) Не удается найти пространство имен System.Web.Script.Service.

2) Тип 'System.Web.Script.Services.ScriptService' не определен.

3) Тип 'System.Runtime.Serialization.Json.DataContractJsonSerializer 'не определено.

У кого-нибудь есть какие-либо идеи, в чем может быть проблема, поскольку я довольно озадачен?(

Ответы [ 5 ]

16 голосов
/ 20 июня 2013

В Visual Studio 2012 обязательно добавьте ссылку на System.Web.Extensions, поскольку она содержит System.Web.Script.Serialization.

5 голосов
/ 24 июня 2010

Кажется, есть ошибка от Microsoft, где Target Framework для v3.5 в VS2010 является v3.0 GAC!Перемещение сборок с проблемой в папку v3.0, кажется, начинает решать проблемы, но немного грязно.Думаю, я подожду, пока Microsoft выпустит правильное исправление для VS 2010!

http://www.cnblogs.com/dudu/archive/2010/06/24/1764549.html

Google перевод поможет с этой ссылкой!

Более подробная информация о скопированных сборкахв папку v3.0 из папки v3.5 в качестве обходного пути к этой ошибке VS 2010:

http://forums.asp.net/p/1569744/3942724.aspx

Если кто-то еще сталкивается с этой проблемой и хочет отслеживать / голосоватьстатус этой ошибки в Microsoft: https://connect.microsoft.com/VisualStudio/feedback/details/570557/targeting-net-framework-3-5-actually-targets-3-0-gac

Обновление - Microsoft опубликовала следующее исправление в отчете об ошибке, который я поднял:

Чтобы создать веб-сайт с таргетингом на3.5, пожалуйста, добавьте тег компилятора в ваш файл web.config, как я вставил ниже, чтобы языковая компиляция подобрала правильную версию vbc.exe.Вы можете создать новый веб-сайт 3.5, и по умолчанию в файле web.config есть те теги, на которые вы можете ссылаться.

<system.codedom>
  <compilers>
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <providerOption name="CompilerVersion" value="v3.5"/>
      <providerOption name="OptionInfer" value="true"/>
      <providerOption name="WarnAsError" value="false"/>
    </compiler>
  </compilers>
</system.codedom>
1 голос
/ 16 июня 2010
  • Проверьте записи сборки web.config.

  • Проверьте .NET Framework target в проекте Visual Studio 2010, по умолчанию установлено4.0

  • Проверьте IIS, убедитесь, что вы используете подходящую платформу для своего сайта.Новая установка .NET 4.0 может изменить вашу платформу по умолчанию на 4.0.

0 голосов
/ 26 июня 2013

Я тоже решил аналогичную проблему, изменив целевую инфраструктуру моего сайта с 3,5 на 4,0 и снова на 3,5.

0 голосов
/ 04 октября 2012

Я решил аналогичную проблему, изменив целевую инфраструктуру моего сайта с 3,5 на 4,0 и снова на 3,5.

Это привело к множеству дополнений к моему файлу web.config, которые, возможно, делают егоVisual Studio намного проще поддерживать мой проект.

Я никогда не "обновлял свой проект до Visual Studio 2010", но это был более старый веб-сайт aspx, и, возможно, это был первый раз, когда он был открыт с VS 2010.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...