强制Visual Studio 2010使用旧版本的gacutil.exe(Post Build事件)

时间:2013-05-16 15:12:30

标签: visual-studio-2010 gac post-build-event gacutil

我正在使用WiX开发一个简单的安装程序,我正在尝试在GAC上安装.dll和发布商政策。

我使用安装程序在GAC上成功添加了.dll。但我想使用Visual Studio中的PostBuild事件来执行msbuild命令。我需要做的事情的顺序是:

  1. 在Visual Studio的Post构建事件上创建publisher policy

  2. 执行命令al /link:the.config /out:the.policy.dll /keyfile:thekey.snk /platform:x86

  3. 使用特定的GACUTIL发布策略。

  4. 如果我是正确的,如果我执行gacutil -i Policy.1.0.TestLibrary.dll,Visual Studio将在新的GAC 1 上安装此策略,我想使用较旧的 2 < / SUP>

    如何告诉Visual Studio在Post Build事件中使用特定的gacutil?

    我为PostBuild事件尝试了这个:

    al /link:"$(SolutionDir)"TestLibrary.dll.config /out:"$(SolutionDir)"Policy.1.0.TestLibrary.dll /keyfile:"$(SolutionDir)"sgKey.snk /platform:x86
    

    但是得到The command "...." exited with code 9009.

    另外,如果我在旧GAC上发布Library.v1.0.dll,然后在新GAC上安装Library.v2.0.dll,如果我从v1.0到v2.0创建发布者策略,他们会找到对方吗?

    [1]:GAC用于.Net Framework 4.0及更高版本  [2]:GAC用于.Net Framework 3.5及更低版本。

1 个答案:

答案 0 :(得分:0)

问题解决了。该政策存在不一致之处,这就是为什么它不起作用......