Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 由于保护级别,无法访问公共类_C#_.net_Reference_Nuget_Squirrel.windows - Fatal编程技术网

C# 由于保护级别,无法访问公共类

C# 由于保护级别,无法访问公共类,c#,.net,reference,nuget,squirrel.windows,C#,.net,Reference,Nuget,Squirrel.windows,我正在使用Squirrel.Windows作为我的应用程序的更新框架,我从1.4.4升级到了最新版本1.5.2,在通过NuGet升级之后,UpdateManager类由于其保护级别而变得不可访问 我创建了一个示例项目,并通过nuget导入了Squirrel.WindowsNuGet包,我能够毫无疑问地实例化UpdateManager类的一个实例。 我尝试清理了与Squirrel.Windows项目相关的所有NuGet包,并清理了csproj中与之相关的所有信息,再次导入包后,我仍然无法访问该类

我正在使用Squirrel.Windows作为我的应用程序的更新框架,我从1.4.4升级到了最新版本1.5.2,在通过NuGet升级之后,UpdateManager类由于其保护级别而变得不可访问

我创建了一个示例项目,并通过nuget导入了Squirrel.WindowsNuGet包,我能够毫无疑问地实例化UpdateManager类的一个实例。 我尝试清理了与Squirrel.Windows项目相关的所有NuGet包,并清理了csproj中与之相关的所有信息,再次导入包后,我仍然无法访问该类

namespace Our.Core 
{
    public class Launcher
    {        
        public static void Main(string[] args)
        {
            new Launcher(args);
        }

        public async Task<bool> TryUpdate(string[] args)
        {
            try
            {
                using (var mgr = new UpdateManager(UpdatePath, null, null, null))
                {
                    Log.Information("Checking for updates");
                    var updateInfo = await mgr.CheckForUpdate();
                    if (updateInfo.ReleasesToApply.Any())
                    {
                        Log.Information("Downloading updates");
                        await mgr.DownloadReleases(updateInfo.ReleasesToApply);
                        Log.Information("Applying updates");
                        await mgr.ApplyReleases(updateInfo);

                        return true;
                    }
                    Log.Information("No updates found.");

                    return false;
                }
            }
            catch (Exception e)
            {
                Log.Error(e, "Error while updating");
                return false;
            }
        }
    }
}
名称空间我们的.Core
{
公共类启动器
{        
公共静态void Main(字符串[]args)
{
新发射器(args);
}
公共异步任务TryUpdate(字符串[]args)
{
尝试
{
使用(var mgr=newupdateManager(UpdatePath,null,null,null))
{
日志信息(“检查更新”);
var updateInfo=wait mgr.CheckForUpdate();
if(updateInfo.ReleasesToApply.Any())
{
日志信息(“下载更新”);
等待经理下载发布(updateInfo.ReleasesToApply);
日志信息(“应用更新”);
等待经理申请删除(更新信息);
返回true;
}
日志信息(“未找到更新”);
返回false;
}
}
捕获(例外e)
{
日志错误(e,“更新时出错”);
返回false;
}
}
}
}

问题是,升级库后,项目中的引用将其特定版本属性切换为false。这导致Visual Studio无法正确引用库的正确版本

故事的寓意是,确保检查您的版本,如果您需要使用特定版本,请确保您的特定版本检查是正确的