我有一个使用google url shortener API的WPF(.NET 4)项目,我已经通过nugget安装了客户端库https://www.nuget.org/packages/Google.Apis.Urlshortener.v1/1.7.0.25-beta
该应用程序在Visual Studio中工作正常,但一旦发布就抛出异常无法加载文件或程序集System.Threading.Tasks,Version = 2.5.19.0这个以及所有其他程序集都存在于安装文件夹中,并且它随应用程序一起发布.我搜索了互联网,人们建议手动绑定app.config中的依赖库,它仍然不起作用,因为app.config中已经提到了我的所有依赖库,下面是我的app.config的样子
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.10.0" newVersion="2.1.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.1.10.0" newVersion="2.1.10.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.13.0" newVersion="1.2.13.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Threading.Tasks.Extensions.Desktop" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.165.0" newVersion="1.0.165.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud) 我有mvc 4母版页,我想在页面顶部显示用户特定菜单我正在检索用户数据
@using Agenda_MVC.Engine
@{
List<Format> ContactEvents = Agenda_MVC.Classes.Utility.GetContactEventFormats(User.Identity.Name);
}
Run Code Online (Sandbox Code Playgroud)
但是当我遍历列表时它会抛出null异常,在设置断点时列表不为null它有项目.
@foreach (var ContactEvent in ContactEvents)
{
<div class="@(ContactEvent.EventId == ViewContext.RouteData.Values["id"].ToString() ? "StaticMenuItemSelected" : "StaticMenuItem")">
@Html.ActionLink(ContactEvent.Name.Length > 15 ? ContactEvent.Name.Substring(0, 15) + "..." : ContactEvent.Name, "Agenda", "Portal", new { id = ContactEvent.EventId }, new { @title = ContactEvent.Name })
</div>
}
Run Code Online (Sandbox Code Playgroud)

我不知道我做错了什么.
方法的代码如下,我正在从Web服务中检索它
public static List<Format> GetContactEventFormats(string ContactId)
{
//List<Format> EventFormats = HttpContext.Current.Cache["EventFormats" + ContactId] as List<Format>;
List<Format> EventFormats = HttpContext.Current.Session["EventFormats" + ContactId] as List<Format>;
if (EventFormats == null)
{ …Run Code Online (Sandbox Code Playgroud)