.net - TFS Build: Referencing different version of Oracle than what's on the buyild server -


the short story: using tfs 2010, can't build server build using specific version of oracle.dataacess need on target server.

we have 1 build server @ point entire enterprise has messy mix of oracle, .net, , os versions. project i'm building server different version of oracle.dataaccess.dll what's on build server. if build on local machine , deploy dev server works fine. can't seem build server ignore it's version of client , use mine.

i've read couple of excellent questions , answers, such 1 answered pantelif: solution.metaproj error msb3202: project file 'xxx' not found

i think i'm doing right. include ref folder within project , directly reference .dll there. i'm not trying reference .dll different location.

if set specific version = false, runtime oracle error telling me version of oracle client wrong. if manually copy correct version of .dll bin folder, runtime error saying assembly targetting different version.

if set specific version = true, build server says can't find .dll

class\provdata.cs (7): type or namespace name 'oracle' not found (are missing using directive or assembly reference?)  c:\windows\microsoft.net\framework64\v4.0.30319\microsoft.common.targets (1360): not resolve reference. not locate assembly "oracle.dataaccess, version=1.102.3.0, culture=neutral, publickeytoken=89b483f429c47342". check make sure assembly exists on disk. if reference required code, may compilation errors. 

when @ project file, see expect:

<reference include="oracle.dataaccess, version=1.102.3.0, culture=neutral, publickeytoken=89b483f429c47342">   <hintpath>ref\oracle.dataaccess.dll</hintpath>   <private>true</private> </reference> 

so ideas on why build server still says can't find it?

it seems build server doesn't have same version of oracle.dataaccess dev machine.

you can try:

  • use lib referencing pattern, projects referencing file in specific source-controlled location:

    <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> 
  • remove fqn definition, (allowing clr pick matching version):

    <reference include="oracle.dataaccess" /> 
  • make sure build server has same assembly version deploying gac using gacutil /i:

    gacutil /i oracle.dataaccess.dll 

Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -