Пример мясорубки C# MD5

Вы не можете поделиться конфигурацией Git самой Git. Вы должны сами управлять общим доступом, используя общую файловую систему. Тогда вы можете просто сделать символическую ссылку на общий конфиг.

В качестве альтернативы вы можете создать версию общего Git-конфигурации в отдельном репозитории Git . Но обратите внимание, что конфигурация Git этого репозитория (не та, что в вашей рабочей копии) снова будет локальной.

Поскольку вы просто хотите инициализировать все подмодули, я бы порекомендовал сделать это вручную в CLI. Большая часть графического интерфейса Git делает это автоматически. Поэтому я рекомендую не задумываться о совместном использовании конфигурации Git.

12
задан mattdwen 9 May 2009 в 04:49
поделиться

5 ответов

I took your code put it in a console app and ran it with no errors, got the hash and the test file is deleted at the end of execution? I just used the .pdb from my test app as the file.

What version of .NET are you running?

I am putting the code that I have that works here, and if you put this in a console app in VS2008 .NET 3.5 sp1 it runs with no errors (at least for me).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace lockTest
{
    class Program
    {
        static void Main(string[] args)
        {
            string hash = GetHash("lockTest.pdb");

            Console.WriteLine("Hash: {0}", hash);

            Console.ReadKey();
        }

        public static string GetHash(string pathSrc)
        {
            string pathDest = "copy_" + pathSrc;

            File.Copy(pathSrc, pathDest, true);

            String md5Result;
            StringBuilder sb = new StringBuilder();
            MD5 md5Hasher = MD5.Create();

            using (FileStream fs = File.OpenRead(pathDest))
            {
                foreach (Byte b in md5Hasher.ComputeHash(fs))
                    sb.Append(b.ToString("x2").ToLower());
            }

            md5Result = sb.ToString();

            File.Delete(pathDest);

            return md5Result;
        }
    }
}
15
ответ дан 2 December 2019 в 04:25
поделиться

Вы пытались также обернуть свой объект MD5 в использование ()? Из документов MD5 является одноразовым. Это может заставить его отказаться от файла.

1
ответ дан 2 December 2019 в 04:25
поделиться

Вы пытались установить для md5Hasher значение null перед удалением файла? Вероятно, к FileStream все еще привязан дескриптор (возможно, утечка памяти).

-1
ответ дан 2 December 2019 в 04:25
поделиться

Почему бы не открыть файл с помощью FileShare.ReadWrite?

-1
ответ дан 2 December 2019 в 04:25
поделиться

md5hasher.Clear() after your loop might do the trick.

0
ответ дан 2 December 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: