我想保留(现在)能够将Git变更集链接到存储在TFS中的工作项.
我已经编写了一个工具(使用Git中的一个钩子),我可以在其中将workitemidentifiers注入到Git变更集的消息中.
但是,我还想将Git提交的标识符(哈希)存储到自定义TFS工作项字段中.通过这种方式,我可以检查TFS中的工作项,并查看与工作项相关联的Git更改集.
如何从Git的当前提交中轻松检索哈希?
我目前正在将我的Wix项目集成到MSBuild中.我有必要将多个值传递给Wix项目.一个值将起作用(下面示例中的ProductVersion).
<Target Name="BuildWixSetups">
<MSBuild Condition="'%(WixSetups.Identity)'!=''"
Projects="%(WixSetups.Identity)"
Targets="Rebuild" Properties="Configuration=Release;OutputPath=$(OutDir);DefineConstants=ProductVersion=%(WixSetups.ISVersion)" ContinueOnError="true"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
但是,如何将多个值传递给DefineConstants键?我已经尝试了所有'逻辑'分隔符(空格,逗号,分号,管道符号),但这不起作用.
有其他人遇到过这个问题吗?
解决方案不起作用:
我有以下界面和实现:
public interface IRepository<T>
{
IList<T> GetAll();
}
internal class TrendDataRepository : IRepository<TrendData>
{
public IList<TrendData> GetAll()
{
//.. returns some specific data via Entity framework
}
}
Run Code Online (Sandbox Code Playgroud)
我将要有多个实现,它们都通过Entity Framework返回不同的数据.在某些时候,我想向用户表示实现IRepository接口的类列表.我使用以下代码执行此操作.这对我很有用.
public static IEnumerable<string> GetAvailableRepositoryClasses()
{
var repositories = from t in Assembly.GetExecutingAssembly().GetTypes()
where t.GetInterfaces().Any(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof (IRepository<>))
select t.Name;
return repositories;
}
Run Code Online (Sandbox Code Playgroud)
但是,我还想创建一个工厂方法,给定一个特定的字符串将返回一个具体的存储库类型,并允许我在其上调用'GetAll'方法.在伪代码中:
someObject = Factory.CreateInstance("TrendData");
someObject.GetAll();
Run Code Online (Sandbox Code Playgroud)
(我知道这不起作用,因为我必须在工厂方法中指定具体类型).
我希望这个功能,因为我想让用户能够将报告绑定到特定的数据源.通过这种方式,他们可以启动一个新报告,其中报告的数据源绑定到(例如)TrendDataRepository.GetAll()方法.
然而,也许是因为世界末日即将来临;-)或者是星期五下午我不能再思考了,我不知道如何实现这一点.
一些指针真的很受欢迎.
假设我有一个下面的C#类,我希望它是不可变的。您只能使用参数化的构造函数进行设置。
public class InsulineInjection
{
private InsulineInjection()
{
// We don't want to enable a default constructor.
}
public InsulineInjection(Millilitre millilitre, DateTime dateTime, string remark)
{
this.Remark = remark;
this.DateTime = dateTime;
this.Millilitre = millilitre;
}
public string Remark { get; private set; }
public DateTime DateTime { get; private set; }
public Millilitre Millilitre { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,我想使用一个ORM创建此POCO。但是,据我所知,所有.NET ORM都希望可以访问属性并具有一个公共构造函数来创建此POCO。因此,我必须将POCO更改为:
public class InsulineInjection
{
public InsulineInjection()
{
}
public InsulineInjection(Millilitre millilitre, DateTime dateTime, string remark)
{
this.Remark …
Run Code Online (Sandbox Code Playgroud) 我熟悉MSDN 列表,但我想要一个按代码排序的列表。我们的许多开发人员无法轻松访问互联网,如果我能为他们提供离线完整的警告列表,那就太好了。
我希望它们按警告代码排序,因为这是它们识别 Fxcop 日志文件中问题的方式。
c# ×2
changeset ×1
fxcop ×1
generics ×1
git ×1
immutability ×1
msbuild ×1
msbuild-task ×1
orm ×1
poco ×1
tfs ×1
tfs-workitem ×1
wix ×1