小编Sea*_*ean的帖子

在外部3向差异工具中查看已经提交的Git合并

有没有办法查看已经在3-way diff中提交的合并?

如果3周前分支机构之间发生了巨大的合并,有什么方法可以在像BeyondCompare3这样的外部差异工具中看到它的3路差异吗?我正在寻找合并提交中更改的文件.奖金,如果我能得到它只显示冲突和任何手动更改,而不是看到两个分支之间的文件的完整差异.

如果左侧有<<<<< ===== >>>>>冲突标记而右侧是承诺结果,我不介意解决双向差异问题.

我试着看看diff-tree,diff-files,diff,difftool,show等等,但是无法弄明白.我知道gitk会在合并提交中显示更改,但我不喜欢上下差异视图,当有大量更改时很难理解.

如果我能做点什么的话 git difftool --cc firstparent..secondparent..result

git merge commit difftool

30
推荐指数
2
解决办法
2916
查看次数

C#.dll程序集可以包含入口点吗?

我的目标是创建一个可启动影子复制应用程序的可执行文件.诀窍是,我希望这个入门程序没有外部依赖关系,并且不必包含任何有关它必须启动的程序的知识.

我也希望它是目录中唯一的可执行文件.换句话说,我希望它"运行".dll程序集而不是.exe程序集.(我可以要求每次加载到新AppDomain中的.dll文件的名称都是相同的,比如Main.dll或类似的东西.)

它看起来像AppDomain.ExecuteAssembly将完全按照我的意愿行事.它表示它将在".NET Framework标头中指定的入口点"开始执行.

当我尝试使用该功能时,我收到错误"在程序集中找不到入口点'DllApp'".

我有启动程序,只是试图运行程序集:

static void Main()
{
    AppDomain domain = AppDomain.CreateDomain( "DllApp" );
    domain.ExecuteAssembly( "DllApp.dll" );
}
Run Code Online (Sandbox Code Playgroud)

应用程序代码,在.dll文件中,带有默认入口点:

static class Program
{
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault( false );
        Application.Run( new Form1() );
    }
}
Run Code Online (Sandbox Code Playgroud)

Main()函数的这个页面说"库和服务不需要Main方法作为入口点".它并没有说它们也没有默认入口点.

我已经尝试了public/private static void main的所有各种排列,int返回类型,string [] args作为参数,带有命名空间,没有命名空间,静态/非静态类等.

我能够将我的代码更改为继承MarshalByRefObject,然后使用CreateInstance创建一个对象,但这似乎会将启动器更紧密地耦合到它应该启动的程序.如果我可以使用ExecuteAssembly,那么正在启动的应用程序只需要一个静态的void Main,这非常简单而且很难搞乱.

.dll程序集是否有可能具有默认入口点,并且ExecuteAssembly可以找到它,或者我是否只需要让自己去另一条路径?

c# assemblies appdomain .net-assembly entry-point

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net-assembly ×1

appdomain ×1

assemblies ×1

c# ×1

commit ×1

difftool ×1

entry-point ×1

git ×1

merge ×1