2012-03-27 6 views
1

Mon premier projet SQLCLR est résistant à toutes les tentatives de déployer ...Impossible de déployer SQLCLR projet

Je reçois l'erreur

L'erreur suivante peut apparaître si vous déployez un projet CLR SQL était Construit pour une version de .NET Framework qui est incompatible avec l'instance cible de SQL Server: "Erreur de déploiement SQL01268: CREATE ASSEMBLY pour l'assembly a échoué car l'assembly a échoué à la vérification". Pour résoudre ce problème, ouvrez les propriétés pour le projet et modifiez la version .NET FRAMEWORK.

C: ... \ SqlClr.dll: Déployer erreur: Impossible pas créer un type de paramètre MyModel.Customer client

La commande

select * from sys.dm_clr_properties 

retours

répertoire C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \

Version v2.0.50727

CLR état est initialisé

Le Target framework du projet est .NET Framework 2.0

L'objet référencé dans le message d'erreur MyModel.Customer est inclus dans le projet SQLCLR via un lien (Ajouter Existing Item/Add as Link) d'un autre projet qui utilise .NET Framework 4.0, mais d'après ce que je comprends, la version .NET de l'autre projet ne devrait pas avoir d'incidence.

Que pourrais-je manquer?

+0

Compilation conditionnelle peut-être pour exclure cela? – leppie

+0

@leppie: Exclure quoi? J'ai besoin de MyModel.Customer car il transporte les données dont ma procédure SQLCLR a besoin. –

Répondre

3

Si vous faites référence à un assembly dépendant de .NET 4.0, vous risquez de rencontrer des problèmes. Ma compréhension est que les assemblys SQLCLR doivent être basés sur les versions 2.0 à 3.5 de .NET, parce que les versions 2.x et ultérieures avant 4.0 sont vraiment juste des extensions basées sur 2.0. Cela tend à coïncider avec certaines informations que j'ai lues récemment à propos d'une décision explicite pour le SQLCLR et non pour soutenir Framework 4.0.

Questions connexes