我会根据目录(用于Web应用程序)自动为安装程序生成WiX文件,其中包含对以下3个.Net程序集的引用:
这是生成WiX片段:
<Fragment>
<DirectoryRef Id="bin">
<Component Id="bin.Migrator.dll" Guid="*">
<File Id="bin.Migrator.dll" Name="Migrator.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="bin">
<Component Id="bin.Migrator.Framework.dll" Guid="*">
<File Id="bin.Migrator.Framework.dll" Name="Migrator.Framework.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.Framework.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="bin">
<Component Id="bin.Migrator.Providers.dll" Guid="*">
<File Id="bin.Migrator.Providers.dll" Name="Migrator.Providers.dll" KeyPath="yes" Source="..\WebApplication\bin\Migrator.Providers.dll" />
</Component>
</DirectoryRef>
</Fragment>
Run Code Online (Sandbox Code Playgroud)
我们使用相同的基本安装程序结构已有一年左右的时间,但是最近我们将Migrator.Net库更新为新的内部版本,该版本的版本号和程序集标题/描述属性从(从Orca倾销)更改为
升级库后,要: …
我正在尝试通过客户端SDK为TFS 2010创建一个新的工作项.
在SDK中,您可以执行以下操作:
WorkItem item = ...;
item.Attachments.Add(new Attachment("c:\\path\\on\\tfs\\server\\shot.png", "Screen shot"));
item.Save();
Run Code Online (Sandbox Code Playgroud)
但这需要将附加的文件放在网络可访问路径上,或放在TFS服务器本身的磁盘上.
在我们的例子中,附加的文件只是一个内存中的blob,并且必须将附件保存到物理路径似乎是不必要的,并且肯定使我们的客户所需的部署步骤复杂化,因为我们需要将它们放在文件系统上,然后随后在创建工作项后删除它们.
有没有办法附加文件而不必将其放在文件系统上 - 理想情况下,我想,只是提供一个字节数组,文件名和mime类型?
更新
出现共识是这是不可能的 - 并且解决方法是编写自己的附件类,它包含了在磁盘上创建临时附件文件的功能:
http://witcustomcontrols.codeplex.com/SourceControl/changeset/view/74794#336044
通过SDK将工作项添加到TFS 2010时,将使用用于向TFS服务器进行身份验证的相同标识创建事件.
在提供缺陷跟踪器/工作项支持的其他应用程序中,API通常允许您设置Reporter/ReportedBy/CreatedBy字段,因此您可以使其看起来好像您的服务用户代表"已创建问题"创建问题而不是说你设置的通用"服务帐户"允许第三方应用程序访问TFS /缺陷跟踪器.
在通过TFS SDK创建工作项时,您似乎无法设置CreatedBy字段(您获得TF26194 - "创建者"值无法更改"错误")我看不到任何标准的Reporter字段常见的TFS模板.
是否可以将"创建者"设置为其他用户,或者为了创建新工作项而冒充其他用户(不知道他们的密码等)?
在编码该值时,我发现一些 javascript 字符串文字存在问题:
未编码
<!-- Start ValueClick Media 300x250 Code for Test Tag -->
<script language="javascript" src="http://media.fastclick.net/w/get.media?sid=38901&m=6&tp=8&d=j&t=n"></script>
<noscript><a href="http://media.fastclick.net/w/click.here?sid=38901&m=6&c=1" target="_blank">
<img src="http://media.fastclick.net/w/get.media?sid=38901&m=6&tp=8&d=s&c=1"width=300 height=250 border=1></a></noscript>
<!-- End ValueClick Media 300x250 Code for Test Tag -->
Run Code Online (Sandbox Code Playgroud)
我最终得到这个值:
已解码
"<!-- Start ValueClick Media 300x250 Code for Test Tag -->\r\n<script language=\"javascript\" src=\"http://media.fastclick.net/w/get.media?sid=38901&m=6&tp=8&d=j&t=n\"></script>\r\n<noscript><a href=\"http://media.fastclick.net/w/click.here?sid=38901&m=6&c=1\" target=\"_blank\">\r\n<img src=\"http://media.fastclick.net/w/get.media?sid=38901&m=6&tp=8&d=s&c=1\"width=300 height=250 border=1></a></noscript>\r\n<!-- End ValueClick Media 300x250 Code for Test Tag -->"
Run Code Online (Sandbox Code Playgroud)
当在某些 javascript 代码中用作 javascript 文字时,Firefox 会抱怨它未终止 - 但我自己也不明白为什么。
奇怪的是,如果我</script>从上面的 html 中删除“”结束标记,则编码版本可以正常工作,如下所示:
未编码
<!-- Start ValueClick Media …Run Code Online (Sandbox Code Playgroud)