在我们的Visualstudio2010项目中,我们引用了 SmartAssembly.Attributes.dll 它被正确地复制到 Bin/DebugBin/Release 我们本地开发机器的文件夹。在构建服务器上,这对于所有其他引用都是如此,但对于"SmartAssembly"则不是如此。属性。dll'。构建成功。

我应该检查什么?

谢谢.

有帮助吗?

解决方案

打开你的 .csproj 文件(或 .vbproj 文件),并查找程序集引用。然后确保提示路径在构建服务器中仍然有效。有时VS2010会添加一个绝对提示路径,而不是使用一个相对于 .csproj 文件本身,因此驱动器号可能在另一台机器中无效。

例如,引用可能看起来类似于下面的引用(我编造了下面的所有XML只是为了说明它是无效的),并且绝对提示路径可能在构建服务器中无效(例如没有驱动器号 d 那里):

<Reference
Include="SmartAssembly.Attributes, Version=8.0.0.0, 
       Culture=neutral, PublicKeyToken=b03f1f7f1ad5da3a,
       processorArchitecture=x86"> 
  <SpecificVersion>False</SpecificVersion>
  <Private>true<Private>

  <!-- The HintPath below should exist and be valid in your build server -->
  <HintPath>d:\temp\SmartAssembly.Attributes.dll<HintPath>
</Reference>

您可以更改HintPath以使其相对于 .csproj 文件,因此更一般。例如:

  <HintPath>..\libs\SmartAssembly.Attributes.dll<HintPath>

另一个问题可能是 <Private>true<Private> 不存在。此属性映射到 CopyLocal 属性在Visualstudio中,所以如果它在您的 .csproj, ,DLL不会被复制到 bin\Debugbin\Release 由MSBuild.见 http://bronumski.blogspot.com/2009/06/project-reference-fun-and-games.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top