我正在尝试通过客户端 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