0

我最近使用 Visual Web Developer 2010 创建了一个 ASP.NET 网站。在我的代码中,我使用这些引用来访问 Google 电子表格:

Google.GData.Client
Google.GData.Extensions
Google.GData.Spreadsheets

使用 Git Shell 将项目推送到 AppHarbor 网站后,我收到以下错误:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Google.GData.Client". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\temp\orluajnw.mop\input\DVPT\DVPT\DVPT.csproj]
     C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Google.GData.Extensions". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\temp\orluajnw.mop\input\DVPT\DVPT\DVPT.csproj]
     C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Google.GData.Spreadsheets". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\temp\orluajnw.mop\input\DVPT\DVPT\DVPT.csproj]

如何防止这些错误并包含这些参考?所有帮助将不胜感激。

4

1 回答 1

1

看来您可能正在引用 GAC 中的那些 dll。在这种情况下,由于它们在 AppHarbor 的构建机器的 GAC 中不可用,因此您必须在上传的代码中包含 dll。

一种简单的方法是创建一个libs文件夹(在您的解决方案所在的同一级别将是一个好位置),并将所有需要的 dll 放在那里。然后从当前项目中删除对这些 dll 的现有引用,然后再次添加它们,但要从该libs文件夹中添加。此外,对于这些引用中的每一个,您可能需要将CopyLocal属性设置为True(如果单击引用,您将在解决方案资源管理器下方的“属性”选项卡中看到 CopyLocal)。

可以在此处找到有关“复制本地”的更多信息:http: //msdn.microsoft.com/en-us/library/vstudio/t1zz5y8c (v=vs.100).aspx

这样,AppHarbor 将能够构建代码,因为它会在您刚刚上传的libs文件夹中查找那些 dll 以及其余代码。

于 2012-11-05T04:22:58.613 回答