Ocorreu um erro ao estabelecer uma conexão com o SQL Server

Se eu tiver minha string de conexão no web.config como este (feeds de linha adicionados para melhor legibilidade):

<add 
name="conn" 
connectionString="Data Source=(localdb)\v11.0; Initial 
    Catalog=MyDB; Integrated Security=True; MultipleActiveResultSets=True; 
    AttachDbFilename=D:\Products.mdf" 
providerName="System.Data.SqlClient"/>

A conexão funciona e eu posso conectar ao banco de dados no explorador de banco de dados.

Quando especifico o connectionstring no código ou uso o ConfigurationManager para obtê-lo, não funciona:

    SqlCommand command = new SqlCommand();
    command.CommandText = "select ...";
    command.CommandType = CommandType.Text;
    SqlConnection cn = new SqlConnection("Data Source=(localdb)\\v11.0;"+
        "Initial Catalog=MyDB; Integrated Security=True; "+
        "MultipleActiveResultSets=True; AttachDbFilename=D:\\Products.mdf");
    command.Connection = cn;
    cn.Open();
    DataTable dataTable = new DataTable();
    SqlDataReader reader;
    reader = command.ExecuteReader();
    dataTable.Load(reader);
    cn.Close();

Obtendo a cadeia de conexão do web.config dá o mesmo erro:

SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings
 ["conn"].ConnectionString;

O erro que estou recebendo é "System.ComponentModel.Win32Exception: O caminho da rede não foi encontrado"

No rastro é dito:

Ocorreu um erro relacionado à rede ou a uma instância específica ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: provedor de pipes nomeados, erro: 40 - não foi possível abrir uma conexão ao SQL Server)]

Eu preciso de alguma ajuda para resolver isso, tentando resolver isso por horas e qualquer sugestão on line é que eu deveria verificar as configurações de rede (não se aplica como está se conectando a instância local do SQL Server Express). O nome do servidor (a mesma string funciona no VS Express, mas não no código em execução).

Poderia ser um problema de autenticação? E se sim, então porque o erro un informativo?

Obrigado por ler o meu post e espero que você possa me ajudar com isso.

Atualizar:

Eu tentei as seguintes coisas:

Dado o grupo todos permissão total sobre os arquivos mdf e ldf

Nas propriedades do projeto na Web, tentei executar o projeto no servidor de desenvolvimento do VS e no servidor da Web do IIS local (é o IIS Express)

Sem sorte, ainda não é possível conectar-se onde se conecta perfeitamente bem ao copiar o código para um projeto que foi criado com "Aplicativo Web vazio do ASP.NET"

questionAnswers(8)

yourAnswerToTheQuestion