Nuget パッケージを介して Roselyn アセンブリを参照する Clickonce アプリケーションをデプロイしようとしています。
Roslyn Nuget パッケージのバージョンは 1.2.20906.2 ですが、次のようになります。
packages
フォルダー内 の dll プロパティを見ると、DLL のバージョンが 1.2.20906.1であることがわかります- VS2012 Solution Explorerで参照プロパティを見ると、バージョン 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 を介してデプロイすると、アプリは正常に動作します。
どんな助けでも感謝します。