2016-02-11 76 views
5

我創建了SSIS包並使用Integration Services部署嚮導將其部署到服務器。我正在通過SQL Server 2012手動轉到Integration Services目錄訪問,然後右鍵單擊並執行我的包。CS2001執行部署到服務器的SSIS包時缺少AssemblyAttributes.cs

但是,該包保持失敗,當我檢查執行報告的消息時出現以下錯誤。

它們似乎在我有腳本組件的數據任務上失敗。

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

您是否在服務器上安裝了正確的.NET框架? –

+0

你是什麼意思的正確的.NET框架?喜歡,正確的版本4.0 vs 4.5? – Juc

+0

是正確的版本。看着這個錯誤,它抱怨assemblyattributes.cs丟失。 –

回答

2

我研究了同樣的問題,而且我遇到這裏的解決方案來:

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

基本上,這包下需要運行的帳戶具有完全權限到C:\ Windows \ Temp \文件夾,以便它可以創建臨時類。

它爲我工作:)

+0

爲我工作!即使用戶/設置在我的電腦上不太直接,我必須從'用戶'而不是用戶登錄時更改權限。如何更改權限:https://msdn.microsoft.com/en-us/library/bb727008.aspx – EricG

3

這個答案是UberDoodles更詳細的答案。

在Windows資源管理器中。

  1. 導航到C:\Windows\Temp\
  2. 右鍵單擊該文件夾並選擇properties
  3. 轉到標籤Security,選擇Advanced
  4. 在默認選項卡Permissions,選擇Change Permissions
  5. 對於相關權限項,選擇edit
  6. 默認情況下,我有'允許'檢查Traverse folder/execute file,Create files/write dataCreate folders/append data
  7. 同時檢查'允許'爲List folder/read dataTake ownership
  8. 按確定,窗口關閉
  9. 按應用並確認您需要的任何東西。

此外,登錄的用戶已經完全控制,但是當我爲條目'用戶'更改此項時,它適用於我。

(根據microsoft file/folder permissions)。

+0

這對我來說一旦我添加了[SERVERNAME] \ Users的權限,但我不確定哪個帳戶是實際上在包運行時用於腳本。我假定了SQL Server服務帳戶,但顯然不是。 –

2

今天我有同樣的問題,只是在SQL 2016 對我來說,它有助於從SQL Server 2012在Visual Studio項目屬性目標服務器的版本更改到SQL Server 2016

0

我有同樣的問題。我第一次使用埃裏克G.響應並將ListRead權限添加到c:\windows\temp。在我完成所有工作之後,我回去取消了許可。然後,我從Visual Studio重新部署我的解決方案,這次使用Martin的解決方案將部署目標指定爲SQL Server 2014(這是我使用的環境)。然後我重新執行該過程,並且它與ListRead一起移除。

我保留它使用馬丁的解決方案,因爲我不喜歡授予特殊權限,如果我不需要它們。

好運