我有兴趣在命令提示符下获取shelveset的内容.现在,您会认为TFS Power Tools中提供的诸如Get-TfsShelveset之类的cmdlet可以执行此操作.您可能还认为"tf.exe shelvesets"会这样做.
但是,除非我错过了什么,否则我很震惊地报告说这两种情况都不是.相反,每个命令都要求你给它一个搁置集名称,然后简单地为该搁置集重新排序一个行项目,以及有关搁置集的一些元数据,如creationdate,displayname等.但据我所知,没办法告诉货架上的实际情况.
这对于Get-TfsShelveset来说尤其令人发指,它能够包含一个文件描述符数组以及它返回的Shelveset对象.我甚至试图变得聪明,以为我可以通过使用-WhatIf和Restore-TfsShelveset来收集文件名,但遗憾的是Restore-TfsShelveset没有实现-WhatIf.
拜托,有人告诉我,我错了!
我正在尝试实现一个服务契约,其中包含一个采用通用接口的方法,并且该泛型接口本身具有一个接口参数.我用ServiceKnownType修饰了服务接口,我用常规的KnownType修改了服务实现,并且我用常规的KnownType修饰了datacontract实现:
[ServiceContract(SessionMode = SessionMode.Required, CallbackContract = typeof(ICallbacks))]
[ServiceKnownType(typeof(Batch<object>))]
[ServiceKnownType(typeof(Command))]
public interface IActions
{
[OperationContract]
IResponse TakeAction(IBatch<ICommand> commands);
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Reentrant)]
[KnownType(typeof(Batch<object>))]
[KnownType(typeof(Command))]
internal class Actions : IActions
{
}
[DataContract]
[KnownType(typeof(Command))]
public class Batch<T> : IBatch<T>
{
}
Run Code Online (Sandbox Code Playgroud)
为了记录,我在那里有Batch,因为看起来你只能表示一次泛型类型的知识类型 - 它似乎发出BatchOfanyType,但我不知道如何处理它.
我得到的例外是"将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中."
有什么明显的我做错了吗?是否不支持接口的通用接口?为了记录我在这个项目的C#2.0和.NET 3.0上.
我有两个类,A和B. B知道A,A不知道B. B有可以很好地设置A的属性,虽然A和B之间没有共享的继承.会有很多次当我需要从A分配B的属性时,我正在寻找关于我应该放置代码的指针.
public class A
{
}
public class B
{
//constructor?
public B(A a)
{
//set b's properties from a
}
//factory method?
public static B FromA(A a)
{
B b = new B();
//set b's properties from a
return b;
}
//setter method?
public static void SetBFromA(B b, A a)
{
//set b's properties from a
}
//assignment method?
public void AssignFrom(A a)
{
//set b's properties from a
}
}
//static helper class?
public static class …
Run Code Online (Sandbox Code Playgroud) 正如Observer模式的命名约定(或者更确切地说,C#等语言中的事件的命名约定)使用事件/处理程序传递EventArgs等,是否有用于轻松突出代码中其他模式的命名约定?
编辑:我原本想问一下策略模式,但认为了解常见模式可能存在的任何其他约定会很有帮助.
我花了很多时间离线,虽然通常我正在阅读一些书籍或杂志的工作,但我最近一直在阅读Visual Studio 2010应用程序生命周期管理(又名TFS 2010)的MSDN Library文档.
不幸的是,这个文档似乎不再包含在Vs2010和VsAlm2010安装媒体上了,我找不到任何下载...除了在线表单之外它是否根本不存在?
我发现很难相信获得此文档的唯一方法是针对每个请求访问网站.我错过了什么?
我有一个很长的PowerShell代码,我在一个长期项目的过程中写的; 这些脚本执行各种各样的功能,并且大多数功能在某种程度上依赖于项目范围内的其他功能.现在,这项工作由几个文件组成,每个文件包含许多功能.最初,为了使用这些脚本,所有脚本文件都是偶然的点源到环境中.
但是,我最近了解到Powershell 2.0引入了模块,我想以这种方式将这些脚本一起部署.由于模块的内容全部加载在一起,我想拆分我的文件,以便每个脚本都有自己的文件,以帮助控制源.但是,我现在对脚本之间的联系还不清楚.
我做了一些测试,似乎可以将每个函数的Export-ModuleMember命令移动到各个.ps1文件; 这似乎更像是在C#中声明自己的范围,如公共和私有作用域的函数.但是,在执行此操作后,我的.psm1文件只包含此内容:
Get-ChildItem -recurse $psScriptRoot | where { $_.Extension -eq ".ps1" } | foreach { . $_.FullName }
Run Code Online (Sandbox Code Playgroud)
那似乎对吗?所有脚本都是点源的,并且所有脚本在该假设下相互引用.他们应该使用相对于$ psScriptRoot的位置来互相引用吗?
有没有办法与这两种方式不同?有人可以提供建议吗?我对这些还不太了解.
我的团队爱上了发布个人资料.我们有许多测试环境,使用Web.config转换,我们可以替换每个环境中的机器名称,配置设置等,这使我们的构建/部署/测试过程更加容易.
例如:
Web.config
Web.dev.config
Web.int.config
Web.prod.config
Run Code Online (Sandbox Code Playgroud)
但是,我们有许多测试应用程序可用于访问我们的Web服务,实现为控制台应用程序.我们希望能够在这些配置文件上进行相同类型的转换,这样我们就可以在拾取构建丢弃时减少与手动编辑配置文件相关的测试手工操作.
基本上,我们想要这个:
App.config
App.dev.config
App.int.config
App.prod.config
Run Code Online (Sandbox Code Playgroud)
我对这些配置转换的理解是它们与我们的Web项目中相应的发布配置文件相关:
Properties
PublishProfiles
dev.pubxml
int.pubxml
prod.pubxml
Run Code Online (Sandbox Code Playgroud)
我试图将类似的文件添加到我们的控制台应用程序项目中,但我怀疑它是Web发布MSBuild目标中实际使用它们的东西.
有没有办法专门挂钩到构建的这一部分,以便我们可以转换非Web配置?
我对Vs Data功能还不熟悉,这是我的第一个数据生成计划.我使用Vs2010数据库项目实现了一个数据库,并用它来部署到sql server express 2008数据库.所有表都使用标识列作为主键,并且它们使用外键彼此相关.
我设置了一个数据生成计划,但是当我尝试用它生成数据时,这些表只是按字母顺序填充,这当然会失败.唯一正确填充的表是查找表和其他种类的没有FK约束的独立实体.第一个表失败后会跳过其余的.
据推测,生成计划根据FK依赖性确定人口顺序.发生了什么?
编辑:有代表的人应该制作一个visual-studio-data-tools标签,因为DBPro不再是(也不是真的)产品名称.
database visual-studio-2010 datadude visual-studio-dbpro data-generation
我有一个带有一堆面板的表单,以及一些面板组内的面板.在Vs2005中使用TabOrder工具时,容器外部的控件给出整数(0),面板内的控件给出小数(72.0),组框内面板内的控件给出三部分值(73.73.0).不幸的是,生成的Tab键顺序与我单击我的控件的顺序无关.
此工具是否仅支持嵌套容器?难道我做错了什么?也许在我点击时按住Shift-或Ctrl-(我试过这些没有成功)?
我是否会被迫手动输入所有控件的三部分Tab键顺序?那将是一个无赖.
我正在为我的实验室进行更改,这将有望帮助诊断我们所看到的一些奇怪的通道故障怪异现象。有一个使用DuplexChannelFactory连接到几个Windows服务的测试应用程序,由于某种原因,该测试应用程序上的通道似乎有很多故障。我计划在其中实现一些重试逻辑,但是弄清楚它们究竟是为什么出错的,这将是很好的。
我知道通道工厂和代理对象都实现了很多接口,并且我使用了反射器来对其中的一些进行爬网,但是我没有找到想要的东西。有没有一种方法可以在对象发生故障后查询这些对象,以获取有关导致故障的原因的某些信息?
编辑:配置非常基本-绑定只是默认构造的NetTcpBinding,服务实现具有[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Reentrant)]
,并且服务协定中的任何操作上都没有特殊属性。但是,我想问更多有关诊断通道故障的常规技术,而不是诊断这种特殊情况。我不希望配置细节对此有太大影响。如果有的话,配置详细信息将是上述诊断返回的信息,对吗?
c# ×4
powershell ×2
tfs2010 ×2
wcf ×2
app-config ×1
command-line ×1
database ×1
datadude ×1
debugging ×1
dependencies ×1
diagnostics ×1
generics ×1
module ×1
msbuild ×1
msdn ×1
shelveset ×1
tab-ordering ×1
tfs ×1
web-config ×1
winforms ×1