2016-02-11 2 views
5

J'ai créé des packages SSIS et utilisé l'assistant de déploiement Integration Services pour le déployer sur le serveur. Je vais manuellement à l'accès au catalogue Integration Services via SQL Server 2012 et en cliquant avec le bouton droit de la souris et en exécutant mon package.CS2001 AssemblyAttributes.cs manquant lors de l'exécution du package SSIS déployé sur le serveur

Cependant, le paquet continue d'échouer et j'obtiens les erreurs suivantes lorsque je vérifie les messages du rapport d'exécution.

Ils semblent échouer sur des tâches de données où j'ai des composants de script.

Assign :Error: CS2001 - Source file 'C:\Windows\TEMP.NETFramework,Version=v4.0.AssemblyAttributes.cs' could not be found, CSC, 0, 0

Assign :Error: Failed to compiled scripts contained in the package. Open the package in SSIS Designer and resolve the compilation errors.

+0

Avez-vous installé le bon framework .NET sur le serveur? –

+0

Que voulez-vous dire par le bon framework .NET? Comme, la bonne version 4.0 vs 4.5? – Juc

+0

Oui comme dans la bonne version. En regardant l'erreur, il se plaint de l'assemblyattributes.cs manquant. –

Répondre

2

J'enquêtait sur la même question, et je suis tombé sur une solution ici:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/73e67f3a-c575-4c73-a71d-ed7a2aeabb50/csc-error-cs2001-source-file-cwindowstempnetframeworkversionv40assemblyattributescs?forum=msbuild

Fondamentalement, le compte que l'ensemble fonctionne sous a besoin d'avoir les autorisations sur le répertoire C: \ Windows \ Temp \ folder, afin qu'il puisse créer des classes temporaires.

Il a travaillé pour moi :)

+0

A travaillé pour moi! Même si les utilisateurs/paramètres n'étaient pas trop simples sur mon PC, j'ai dû changer les permissions de 'Utilisateurs' au lieu de l'utilisateur avec lequel j'étais connecté. Comment modifier les autorisations: https://msdn.microsoft.com/en-us/library/bb727008.aspx – EricG

3

Cette réponse est une version plus détaillée de la réponse UberDoodles.

Dans l'Explorateur Windows.

  1. Accédez à C:\Windows\Temp\
  2. Clic droit sur le dossier et sélectionnez properties
  3. Aller à l'onglet Security, choisissez Advanced
  4. Dans l'onglet par défaut Permissions, choisissez Change Permissions
  5. Pour l'entrée d'autorisation pertinente, choisissez edit.
  6. Par défaut, j'ai 'permis' vérifié pour Traverse folder/execute file, Create files/write data et Create folders/append data.
  7. Cochez également «Autoriser» pour List folder/read data et Take ownership.
  8. Appuyez sur OK, la fenêtre se ferme
  9. Appuyez sur Appliquer et confirmez tout ce dont vous avez besoin.

En outre, l'utilisateur connecté avait déjà le contrôle total, mais lorsque j'ai modifié cela pour l'entrée 'Utilisateurs', cela a fonctionné pour moi.

(basé sur microsoft file/folder permissions).

+0

Cela a fonctionné pour moi une fois que j'ai ajouté l'autorisation pour [SERVERNAME] \ Users, bien que je ne sache pas quel compte est actuellement utilisé pour les scripts lors de l'exécution du paquet. J'ai assumé le compte de service SQL Server, mais apparemment pas. –

2

J'ai eu le même problème aujourd'hui, juste sur SQL 2016. Pour moi, il a aidé à changer la version du serveur cible dans les propriétés du projet Visual Studio de SQL Server 2012 vers SQL Server 2016.

0

J'ai eu le même problème . J'ai d'abord utilisé la réponse Eric G. et ajouté les permissions List et Read au c:\windows\temp. Après avoir tout fonctionné, je suis revenu et j'ai retiré cette autorisation.J'ai ensuite redéployé ma solution de Visual Studio, cette fois désignant la cible de déploiement comme SQL Server 2014 (qui était l'environnement que j'utilisais) en utilisant la solution de Martin. J'ai ensuite relancé le processus, et cela a fonctionné avec le List et Read enlevé.

Je l'ai gardé en utilisant la solution de Martin, car je n'aime pas avoir des permissions spéciales accordées si je n'en ai pas besoin. Bonne chance