请教C#/.net高手,用VS结合源码管理团队协作开发,如何处理引用的dll在不同机器路径不一样的问题?
比如,项目需要引用VS默认安装路径下的某些dll,但不同的开发人员可能把VS安装到不同路径,那么程序员A嵌入后获取最新不一定能编译通过。再假定引用的dll也许只是一两个,...
比如,项目需要引用VS默认安装路径下的某些dll,但不同的开发人员可能把VS安装到不同路径,那么程序员A嵌入后获取最新不一定能编译通过。再假定引用的dll也许只是一两个,但依赖其他没引用的dll有几百M。
你们是如何解决这个问题,请有实践经验的来! 展开
你们是如何解决这个问题,请有实践经验的来! 展开
4个回答
展开全部
1. 从引用弹出窗->程序集中引用的.Net框架自带的库,都不会有问题。
2. 引用第三方库,一般是浏览文件的形式选中dll,这时你应该在项目文件夹中专门建一个文件夹来存放dll,然后再引用这个文件夹中的dll,如下面的Lib文件夹,这样vs会自动使用相对目录引用。
3. 使用nuget插件管理引用,比较方便,它其实也是在项目文件夹中新建了一个packages目录存放下载的dll。
4. 如果项目中不引用,直接放到bin目录下也可以,不过一般bin目录不会纳入版本管理的范围。
<ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer">
<HintPath>..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=1.2.12.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\log4net.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=1.3.1.4349, Culture=neutral, PublicKeyToken=f686731cfb9cc103, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=1.3.1.4349, Culture=neutral, PublicKeyToken=f686731cfb9cc103, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Lib\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\Lib\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Drawing" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Web" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Extensions.Design" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
展开全部
直接在项目文件夹下建一个文件夹,把引用的dll放进去,或者建一个项目,引用dll,原来的项目引用此项目即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用相对路径呀,不用绝对路径。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询