C# 由于保护级别,无法访问公共类
我正在使用Squirrel.Windows作为我的应用程序的更新框架,我从1.4.4升级到了最新版本1.5.2,在通过NuGet升级之后,UpdateManager类由于其保护级别而变得不可访问 我创建了一个示例项目,并通过nuget导入了Squirrel.WindowsNuGet包,我能够毫无疑问地实例化UpdateManager类的一个实例。 我尝试清理了与Squirrel.Windows项目相关的所有NuGet包,并清理了csproj中与之相关的所有信息,再次导入包后,我仍然无法访问该类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中与之相关的所有信息,再次导入包后,我仍然无法访问该类
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无法正确引用库的正确版本
故事的寓意是,确保检查您的版本,如果您需要使用特定版本,请确保您的特定版本检查是正确的