12

我创建了 SSIS 包并使用 Integration Services 部署向导将其部署到服务器。我将通过 SQL Server 2012 手动访问集成服务目录并右键单击并执行我的包。

但是,包一直失败,当我检查执行报告的消息时,我收到以下错误。

他们似乎在我有脚本组件的数据任务上失败了。

分配:错误:CS2001 - 找不到源文件 'C:\Windows\TEMP.NETFramework,Version=v4.0.AssemblyAttributes.cs', CSC, 0, 0

分配:错误:无法编译包中包含的脚本。在 SSIS 设计器中打开包并解决编译错误。

4

5 回答 5

10

此答案是 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. 还要检查 'allow'List folder / read dataTake ownership
  8. 按确定,窗口关闭
  9. 按应用并确认您需要的任何内容。

此外,登录用户已经拥有完全控制权,但是当我为“用户”条目更改它时,它对我有用。

(基于microsoft 文件/文件夹权限)。

于 2016-10-28T09:58:46.470 回答
5

我今天遇到了同样的问题,只是在 SQL 2016 上。对我来说,它有助于将 Visual Studio 项目属性中的目标服务器版本从 SQL Server 2012 更改为 SQL Server 2016。

于 2017-01-16T10:18:36.210 回答
4

我正在调查同样的问题,我在这里遇到了一个解决方案:

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

基本上,运行包的帐户需要对 C:\Windows\Temp\ 文件夹具有完全权限,以便它可以创建临时类。

它对我有用:)

于 2016-08-05T08:01:53.537 回答
0

我有同样的问题。我首先使用Eric G. response 并将ListandRead权限添加到c:\windows\temp. 在我完成所有工作后,我返回并删除了该权限。然后我从Visual Studio重新部署了我的解决方案,这次使用Martin 的SQL Server 2014解决方案将部署目标指定为(我正在使用的环境)。然后我重新运行了这个过程,它与and一起工作。 ListRead

我使用Martin 的解决方案保留它,因为如果我不需要它们,我不喜欢授予特殊权限。

祝你好运

于 2017-08-31T16:00:33.913 回答
0

[Visual Studio 2017 15.9.16]

我刚刚以管理员身份重新启动了 Visual Studio,问题就消失了,这证实了上述答案的权限概念,但让我免去了所有工作。

但这并不是一个怪癖,根据这个问题及其答案,您需要对多项任务获得这种权限,例如在某些条件下进行分析和调试。

为了完整起见,这篇博客说如果在打开第三方解决方案时以管理员身份运行 VS,您可能会遇到一些安全禁忌。

于 2019-09-16T07:37:25.910 回答