首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Clickonce部署Microsoft.Bcl.Async

使用Clickonce部署Microsoft.Bcl.Async
EN

Stack Overflow用户
提问于 2013-08-29 05:23:14
回答 2查看 1.6K关注 0票数 6

我有一个VB.NET应用程序崩溃了,错误如下:

System.IO.FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks, Version=2.5.19.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. File name: 'System.Threading.Tasks, Version=2.5.19.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

我正在尝试使用Microsoft.Bcl.Async库。我通过Nuget在实际使用Async/Await调用的项目和引用它的项目上安装了它。一切都能在我的电脑上完美运行,但当我在另一台电脑上发布和测试时,当我试图使用Async/Await的部分时,我的程序崩溃了。

在Copy Local设置为true的情况下,两个项目都引用了System.Threading.Tasks。在Copy Local设置为true的情况下,两个项目都引用了Microsoft.Threading.Tasks。关于这一点,我见过the other thread,它已经安装在相关项目中。以下是我的app.config文件中包含的行:

代码语言:javascript
复制
  <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>

在设置这个的时候,我错过了什么?如果您需要更多信息,请让我知道。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-10-17 04:31:21

我在项目网站上找到了一个解决方法:

http://blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx

分辨率

这是因为ClickOnce无法部署某些必需的程序集。作为一种解决方法,请执行以下操作:

1.右键单击项目并选择“添加现有项”

2.浏览至Microsoft.Bcl net40包文件夹

3.在File name文本框中输入。

4.按住Ctrl键,选择System.Runtime.dll和System.Threading.Tasks.dll

5.单击Add按钮旁边的向下箭头,然后选择Add as Link

6.在解决方案资源管理器中,按住Ctrl键选择System.Runtime.dll和System.Threading.Taks.dll

7.右键单击所选内容,选择属性,然后将复制到输出目录更改为始终复制

8.Republish

票数 9
EN

Stack Overflow用户

发布于 2013-08-29 05:52:48

单击一次将只包含3个主动态链接库的Microsoft.Threading.Tasks.dllMicrosoft.Threading.Tasks.Extensions.dllMicrosoft.Threading.Tasks.Extensions.Desktop.dll

但是,当您添加nuget包时,会添加另外两个依赖项,这两个依赖项不包括在可分发的System.Runtime.dllSystem.Threading.Tasks.dll中。您可以看到,这两个引用的Path属性位于您的项目中,而不是在正常位置。

我不完全确定如何修复它,但至少现在您知道问题是什么了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18498453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档