我正在尝试部署一个 Clickonce 应用程序,该应用程序通过 Nuget 包引用 Roselyn 程序集。
Roslyn Nuget 软件包的版本为 1.2.20906.2,但:
- 当我查看
packages
文件夹中的 dll 属性时,我看到 DLL 的版本为 1.2.20906.1 - 当我查看VS2012解决方案资源管理器中的引用属性时,它显示版本 1.2.0.0(路径指向 Nuget 包 dll)
Local copy
Specific version
对于所有 Roslyn 引用,设置为 true 。
当我发布 clickonce 时,包含和部署的 Dll 的版本为 1.2.20906.1,但 Clickonce 清单指出:
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Roslyn.Services.dll" size="1345672">
<assemblyIdentity name="Roslyn.Services" version="1.2.0.0" publicKeyToken="31BF3856AD364E35" language="neutral" processorArchitecture="msil" />
...
所以清单中的版本是 1.2.0.0。
当我尝试在客户端上安装 Clickonce 时,我收到一条错误消息(翻译自法语):Reference in the manifest does not match the identity of the downloaded assembly Roslyn.Services.dll
客户端机器是 Windows 7 x86。
我试图在我的 VS 项目中以AnyCPU和 x86为目标,但没有成功。
当我在目标机器上通过 xcopy 部署时,应用程序运行良好。
任何帮助表示赞赏。