Nous obtenons une erreur lors du déploiement d'un projet à l'un des serveurs de nos clients. Le système fonctionne correctement dans nos environnements locaux de développement et de stadification. L'erreur est: p>
Le nom de type ou d'espace de noms 'LINQ' n'existe pas dans l'espace de noms 'system.data' p>
Nous avons fait les chèques évidents: - Nous avons les références dans le Web.config pour system.data.linq, system.core, system.linq, etc. - Le cadre cible de notre projet est de 3,5 - Nous avons confirmé que la version ASP.NET dans IIS sur le serveur du client est 2.0.50727 - Nous avons confirmé que le serveur dispose d'un cadre 3.5 installé et contient la DLL System.Data.LINQ dans le dossier Windows / Assemblys. P>
Toute autre idée? P>
5 Réponses :
De mon message original: "Nous avons les références dans le web.config pour system.data.linq, system.core, system.linq, etc."
J'ai eu la même erreur de compilation lors de la construction d'un projet de scripts, tandis que Visual Studio 2010 construisait bien le même projet. Lorsque j'ai essayé d'ajouter la référence System.core à partir de VS2010, il est revenu avec une erreur indiquant que la référence est définie implicitement et n'ajoute pas la référence.
La solution pour moi était d'ajouter la référence suivante manuellement dans le fichier CSPROJ. Remarque Le cadre cible de la référence est explicitement défini sur 3.5 (Ceci est en tête du cadre cible du projet étant défini sur 3.5): P>
<Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference>
Ajout d'une référence à System.Core a travaillé pour nous sur un projet SQL CLR qui a été converti en un projet SQL Data Tools.
@Hotlicks est-il référencé explicitement comme ci-dessus dans votre fichier CSPROJ? Pouvez-vous ouvrir votre fichier .csproj et vérifier?
Cela a résolu le problème pour moi. Eu un projet créé dans Visual Studio 2012, qui devait être incorporé dans le cadre d'une solution Visual Studio 2008.
essayez Ceci une question similaire
J'ai eu un problème similaire à développer un site Web dans Visual Web Developer 2010 avec .NET 4.0. P>
VWD pourrait strud> trouver l'espace de noms "system.linq" pour Le "projet" a été ouvert à l'aide de "Site Web ouvert", donc il n'y avait pas de fichier .CSPROJ. P>
Copie: P>
C: \ Fichiers de programme \ Assemblages de référence \ Microsoft \ Framework \ .NetFramework \ v4.0 \ system.core.dll p>
blockQuote>
au site Web J'espère que cela aide quelqu'un. P>
Je sais que la question est déjà répondu, mais juste pour préciser clairement, de savoir pourquoi dans Visual Studio, nous obtenons des problèmes de construction et faisons face à des problèmes lorsqu'il essaie de construire dans SVN ou un autre référentiel? P >
Raison: il est référencé par l'IDE lorsqu'il invoque le système de construction, mais pas par Msbuild elle-même. P>
Mais après avoir ajouté la référence sous la forme Cordialement, P>
Varun Shingarpure P>
J'ai eu le même problème, mais une cause première différente. P>
J'avais changé la déclaration d'espace de noms dans le fichier de concepteur.cs de la DBML. Chaque fois que j'ajouterais un nouvel objet via le concepteur, Visual Studio a rétabli la déclaration d'espace de noms et la construction a échoué. P>
Changer simplement l'espace de noms vers ce qu'il est censé être corrigé le problème. P>
Après avoir installé les services de service (par orion ci-dessous), et après quelques redémarrages, cela a commencé à fonctionner. Vous n'êtes toujours pas sûr de ce que le problème des racines était, mais sa fonctionne maintenant.