Имя «ConfigurationManager» не существует в текущем контексте

Использование лямбда-выражения

db.Categories    
  .GroupJoin(
      db.Products,
      Category => Category.CategoryId,
      Product => Product.CategoryId,
      (x, y) => new { Category = x, Products = y })
  .SelectMany(
      xy => xy.Products.DefaultIfEmpty(),
      (x, y) => new { Category = x.Category, Product = y })
  .Select(s => new
  {
      CategoryName = s.Category.Name,     
      ProductName = s.Product.Name   
  })
434
задан Matt 14 June 2016 в 08:31
поделиться

5 ответов

Хорошо .. все заработало после перезапуска VSTS. Ссылка предлагает решение той же проблемы. Хотел бы я увидеть это раньше. :)

38
ответ дан 22 November 2019 в 23:09
поделиться

Просто установка

Install-Package System.Configuration.ConfigurationManager -Version 4.5.0

затем использование

using System.Configuration;
0
ответ дан 22 November 2019 в 23:09
поделиться

Для проверки работоспособности попробуйте создать новый проект веб-приложения, откройте код для страницы Default.aspx. Добавьте строку в Page_Load для доступа к строке подключения.

По умолчанию в нее должен быть добавлен System.Configuration в качестве ссылки. Вы также должны увидеть оператор using в верхней части файла кода.

Мой код позади файла теперь выглядит так и компилируется без проблем.

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace WebApplication1
{
  public partial class _Default : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      string connString = ConfigurationManager.ConnectionStrings["MyConnectionStringName"].ConnectionString;
    }
  }
}

Предполагается, что у меня есть строка подключения в моем web.config с имя равно "MyConnectionStringName" вот так ...

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="MyConnectionStringName"
            connectionString="Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

Да, это элементарно, я знаю. Но если у вас нет лучших идей, иногда полезно проверить что-нибудь действительно простое, которое, как вы знаете, должно работать.

4
ответ дан 22 November 2019 в 23:09
поделиться

Вы уверены, что добавили ссылку на сборку .NET, а не на что-то еще? Я бы удалил вашу ссылку, а затем попытался бы добавить ее снова, убедившись, что вы выбрали вкладку .NET в диалоговом окне справки Visual Studio - последняя версия должна быть 2.0.0.0 в GAC.

6
ответ дан 22 November 2019 в 23:09
поделиться

Не только необходимо использовать пространство имен System.Configuration . Вы также должны добавить ссылку на сборку System.Configuration.dll с помощью

  1. . Щелкните правой кнопкой мыши Ссылки / зависимости
  2. Выберите Добавить ссылку
  3. Найдите и добавьте System.Configuration .

Это точно сработает. Также для NameValueCollection вы должны написать:

using System.Collections.Specialized;
791
ответ дан 22 November 2019 в 23:09
поделиться