.net TFS构建:引用与';在buyild服务器上

.net TFS构建:引用与';在buyild服务器上,.net,tfs,tfsbuild,odp.net,.net,Tfs,Tfsbuild,Odp.net,简短的故事是:使用TFS 2010,我无法使用目标服务器上需要的特定版本的Oracle.DataAcess来构建构建服务器 目前,我们为整个企业提供了一个构建服务器,它混乱地混合了Oracle、.Net和OS版本。我正在构建的项目是针对一个服务器的,该服务器的Oracle.DataAccess.dll版本与构建服务器上的版本不同。如果我在本地机器上构建它并部署到dev服务器上,它就可以正常工作。但是我似乎不能让构建服务器忽略它的客户端版本而使用我的 我已经阅读了一些很好的问题和答案,比如潘特利夫

简短的故事是:使用TFS 2010,我无法使用目标服务器上需要的特定版本的Oracle.DataAcess来构建构建服务器

目前,我们为整个企业提供了一个构建服务器,它混乱地混合了Oracle、.Net和OS版本。我正在构建的项目是针对一个服务器的,该服务器的Oracle.DataAccess.dll版本与构建服务器上的版本不同。如果我在本地机器上构建它并部署到dev服务器上,它就可以正常工作。但是我似乎不能让构建服务器忽略它的客户端版本而使用我的

我已经阅读了一些很好的问题和答案,比如潘特利夫的回答:

我想我做的一切都是对的。我甚至在我的项目中包含了一个Ref文件夹,并从那里直接引用.dll。因此,我不会尝试从其他位置引用.dll

如果将Specific Version设置为false,则会出现运行时Oracle错误,告诉我Oracle客户端的版本错误。如果我手动将正确版本的.dll复制到bin文件夹中,则会出现运行时错误,表明程序集的目标版本不同

如果我设置Specific Version=true,构建服务器会说找不到.dll

Class\ProvData.cs (7): The type or namespace name 'Oracle' could not be found (are you missing a using directive or an assembly reference?)
 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1360): Could not resolve this reference. Could not locate the assembly "Oracle.DataAccess, Version=1.102.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
当我查看我的项目文件时,我看到了我所期望的:

<Reference Include="Oracle.DataAccess, Version=1.102.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342">
  <HintPath>Ref\Oracle.DataAccess.dll</HintPath>
  <Private>True</Private>
</Reference>

Ref\Oracle.DataAccess.dll
真的

那么,关于构建服务器为什么仍然说找不到它,你有什么想法吗?

似乎你的构建服务器没有与你的开发机器相同版本的
Oracle.DataAccess

您可以尝试:

  • 使用库引用模式,其中项目引用特定源代码管理位置中的文件:

    <Reference Include="Oracle.DataAccess, Version=1.102.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342">
      <HintPath>..\..\Lib\ODP.NET\1.102.3.0\Oracle.DataAccess.dll</HintPath>
    </Reference>
    

您的构建服务器似乎没有与您的开发机器相同版本的
Oracle.DataAccess

您可以尝试:

  • 使用库引用模式,其中项目引用特定源代码管理位置中的文件:

    <Reference Include="Oracle.DataAccess, Version=1.102.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342">
      <HintPath>..\..\Lib\ODP.NET\1.102.3.0\Oracle.DataAccess.dll</HintPath>
    </Reference>
    
gacutil /i Oracle.DataAccess.dll