如何在不使用物理文件的情况下通过SDK将附件添加到工作项?

时间:2010-08-18 00:04:15

标签: .net tfs2010 tfs-sdk

我正在尝试通过客户端SDK为TFS 2010创建一个新工作项。

在SDK中,您可以执行以下操作:

WorkItem item = ...;
item.Attachments.Add(new Attachment("c:\\path\\on\\tfs\\server\\shot.png", "Screen shot"));
item.Save();

但这需要将附加的文件放在网络可访问路径上,或放在TFS服务器本身的磁盘上。

在我们的例子中,附加的文件只是一个内存中的blob,并且必须将附件保存到物理路径似乎是不必要的,并且肯定使我们的客户所需的部署步骤复杂化,因为我们需要将它们放在文件系统上,然后在创建工作项后删除它们。

有没有办法在不必将文件放在文件系统上的情况下附加文件 - 理想情况下我只想提供一个字节数组,文件名和mime类型?


更新

似乎认为这是不可能的 - 并且解决方法是编写自己的附件类,它包含了在磁盘上创建临时附件文件的功能:

http://witcustomcontrols.codeplex.com/SourceControl/changeset/view/74794#336044

1 个答案:

答案 0 :(得分:5)

这是不可能的。

使用临时文件向工作项添加屏幕截图有一个很好的实现:http://witcustomcontrols.codeplex.com/SourceControl/changeset/view/74794#336038