我的解决方案中有一个引用Microsoft.Activies.Extensions.dll 2.0.2.16的工作流项目
我使用NuGet Package Manager升级到当前版本2.0.6.9
将引用工作流项目.dll的Web角色部署到云端,我得到:
Could not load file or assembly 'Microsoft.Activities.Extensions, PublicKeyToken=23b0c89d0d5ad43f' or one of its dependencies. The system cannot find the file specified.
我远程桌面到VM并检查F:/approot/bin
以查看部署版本的版本
由于这是一个NuGet包,我可以在我的<Solution root>/Packages folder
中找到它。我看到NuGet创建的新文件夹,但也看到了旧版本文件夹,虽然程序集不在里面。我删除了该文件夹,并在我的web.config中添加了一个程序集重定向:
<dependentAssembly>
<assemblyIdentity name="Microsoft.Activities.Extensions" publicKeyToken="23b0c89d0d5ad43f" />
<bindingRedirect oldVersion="2.0.2.12" newVersion="2.0.6.9" />
</dependentAssembly>
通过Publish清除,构建和重新部署。
错误仍然存在,再次深入了解approot / bin会显示程序集仍未部署。
我当然将Copy Local设置为true。
为什么没有部署?
答案 0 :(得分:0)
好的,找到这篇文章后解决了:
当web角色引用程序集而不是引用其他程序集时,即使Copy Local = true,也不会部署这些程序集。
解决方案是直接在Web-role项目中引用这些子依赖项,并将Copy Local设置为true。
只有这样,他们才会在部署后出现在我的apps / bin中。