在开发计算机上安装.NET 4.5.2会导致System.Management.Automation.dll出错

时间:2014-10-31 19:16:27

标签: .net vb.net visual-studio-2010 powershell

在我的开发机器上安装了框架版本4.5.2之后,我在VS2010中打开了我的一个网站。我选择不升级它,并且已经验证目标框架是3.5,但是当我尝试构建时,我得到了错误

  

错误BC32206:项目当前包含多个引用   System.Core的一个版本,直接引用版本3.5.0.0和   间接参考(通过   'System.Management.Automation.PSObject')到版本4.0.0.0。更改   直接引用使用版本4.0.0.0(或更高版本)的   System.Core程序。

由于各种原因,我不想将项目升级到v4,并且System.Management.Automation.dll的版本保持不变(6.1.7601.17514,日期为2010年11月20日)

当我运行代码时出现问题:

                For Each r As PSObject In powerShellObject.Invoke
                    Debug.Print(r.ToString)
                    returnValue += r.ToString
                Next

任何见解都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

尝试将此添加到您的网络配置文件中:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Management.Automation"
                          publicKeyToken="31bf3856ad364e35"
                          culture="neutral" />
        <publisherPolicy apply="no" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

S.M.A.dll 1.0有一个发布商政策,将其重定向到绑定到.NET 4.0的3.0。