Моно / NGit проблемы с клонированием

У меня есть приложение, в котором я использую NGit для подключения, например, к GitHub и клонирования /push/pull. Но у меня проблемы с клонированием репозитория. Я получаю сообщение "Не удалось установить безопасное соединение", связанное с SSL/TLS, и я получаю JGitException об этом.

Я копался в NSch и обнаружил, что он генерируется из System.Net.Http.

Затем я создал тестовое приложение, чтобы попробовать клонирование.

Это то, что я сделал

using System.Windows.Forms;
using GitClient = NGit.Api.Git;

using NGit;
using NGit.Api;
using NGit.Transport;

namespace Test
{
    public partial class TestingGit: Form
    {
        private GitClient m_client;
        private string m_username = string.Empty;
        private string m_password = string.Empty;
        private string m_url = string.Empty;

        private const string m_localGitFolder = @"C:\Users\%usename%\Desktop\Clone";

    public TestingGit()
    {
        InitializeComponent();
    }

    internal GitClient Client => m_client;

    private void CloneRepo(object sender, EventArgs e)
        {
            m_username = tbUsername.Text;
            m_password = tbPassword.Text;
            m_url = tbURL.Text;
            try
            {
                m_client = GitClient.CloneRepository()
                    .SetURI(m_url)
                    .SetCredentialsProvider(new UsernamePasswordCredentialsProvider(m_username, m_password))
                    .SetDirectory(m_localGitFolder)
                    .Call();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.ToString());
                throw;
            }
        }
   }
}

И это работает. То же самое я сделал в своем главном приложении, но без везения. Я все еще получаю ту же ошибку, но это тот же код.

Что может быть важно - я подписал dll, который я скачал с - https://github.com/mono/ngit для основного приложения, потому что мне нужно, чтобы они были подписаны. Для тестового приложения я использовал dll из пакета NuGet. Не знаю, может ли это быть проблемой, но я сомневаюсь, потому что раньше я делал то же самое, и это работало хорошо.

.NET-версия проектов, использующих эти упомянутые dll, не важна, потому что у меня есть те же проблемы с любой целевой.NET-версией в основном приложении, а в тестовом приложении она работает на любом выше.

Любая помощь в выявлении проблемы может помочь.

0 ответов

Другие вопросы по тегам