我们的组解决方案有一个 csproj 文件,其中包含以下内容:
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\..\..\..\..\..\..\Windows\System32\inetsrv\Microsoft.Web.Administration.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
</ItemGroup>
我们担心 Microsoft.Web.Administration 行。它是相对的,一直到 C:\Windows。事实上,我们小组中的每个人似乎都将代码从源代码管理检查到他们计算机上的同一位置,因此到目前为止这还没有造成问题。然而,这对我们来说是错误的。如果将来有人在其他位置检查代码,或者,天堂禁止,在 C:\ 以外的驱动器上检查代码怎么办?
有一个更好的方法吗?也许我们可以把这个 dll 放在 SVN 中,然后通过 SVN 外部引用将其引入。或者也许我们应该将其更改为绝对参考。或者也许我们可以一起摆脱提示路径,只需要:
<Reference Include="Microsoft.Web.Administration />
我对这个dll一无所知,但它似乎应该在GAC中,对吧?