在vs生成的工程文件.csproj中,有对其他dll的引用。打开.csproj文件可以看到类似一下的内容:
1 <Reference Include="BCGSoft.Visualization, Version=3.1.10000.0, Culture=neutral, PublicKeyToken=03ac5f666b0cdaca, processorArchitecture=MSIL"> 2 <SpecificVersion>False</SpecificVersion> 3 <HintPath>..\..\..\bin\BCGSoft.Visualization.dll</HintPath> 4 <Private>False</Private> 5 </Reference> 6 <Reference Include="Common.Data, Version=1.6.1.0, Culture=neutral, processorArchitecture=MSIL"> 7 <SpecificVersion>False</SpecificVersion> 8 <Private>False</Private> 9 </Reference> 10 <Reference Include="Common.LogWriter4net, Version=1.6.1.0, Culture=neutral, processorArchitecture=MSIL"> 11 <SpecificVersion>False</SpecificVersion> 12 <HintPath>..\..\..\..\..\..\commomdll\Common.LogWriter4net.dll</HintPath> 13 <Private>False</Private> 14 </Reference>
如果没有hintpath标签或者hintpath标签的路径不存在,但是vs依然可以找到存放在bin中的dll,请问VS是怎么找到这些dll的?是有默认的路径吗?另外这几个标签都表示什么意思?
如果hintpath不存在,我觉得会在GAC与“bin文件夹”中找
现在有两台电脑,都是从SVN上获取的代码,一台可以找到引用的dll,另外一台找不到,在bin里面都有这个dll,这个该怎么解决?如果是重新引用是可以,但重新引用了会修改.csproj文件中的引用路径,不想修改这个文件,有其他方法解决吗?
@油头教授:
有两种解决方法:
1. 将引用的dll放在单独文件夹中并加入SVN,然后从这个文件夹中引用。
2. 或者通过nuget引用
@dudu: 嗯,这个解决方法是可以的,只是更行弄清楚里面的原理,呵呵
你重新添加一下
一般添加引用都会在Bin目录下添加。