Visual Studio 在线无法在构建服务器上的 class 库中找到 class 中的函数

Visual Studio Online can't locate function in class in class library on build server

您好,我在 VSO 日志中收到错误消息并且构建失败

d:\a\src-***--\r2rJSONcall.aspx.vb (31): 'rptJSONRoutesTable' is not a member of 'r2rSearchResponse'.

但确实如此!

r2rJSONcall.aspx.vb

Public Class r2rJSONcall
 ...

  Property r2rResponse As New r2rSearchResponse
   ...

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


  'call the webservice..
  ...

   Response.Write(r2rResponse.rptJSONRoutesTable("EUR"))

在类库中..

Public Class r2rSearchResponse
  ...
  Function rptJSONRoutesTable(userCurrencyCode) As String

当然,本地运行没问题。

我已经尝试进行一个字节的更改并重新提交,相关的 DLL 也在源代码管理之下,所以我删除并添加了它。不开心。

更新 - 不,坏消息我在下面发布的答案暂时解决了这个问题。它又一次抬起了丑陋的头,无论怎样似乎都无法使构建工作。

目前已尝试以下过程来使 VSO 在线构建正确编译:

1) 我删除了我的本地文件夹并从源代码控制中执行了完整检出 - @MetaFight 建议。在本地编译很好,没有文件丢失。

2) 排除了 /Bin 和 /Obj 文件夹。所以没有按照@PhilipKendall

的建议检查源代码

3) 运行 本地 MSBuild。解决方案编译正常。

4) 重命名,然后将函数移动到类库中以尝试在 Azure 服务器上触发重建。还是找不到函数。

5) 检查构建顺序,首先编译 Classlib。 "Clean" 在构建配置文件中选择了选项。

6) 检查引用是否正确。我可以在 vbproj 文件中看到引用。引用是项目引用,而不是文件引用。

7) 在 Azure/VSO 中删除了构建配置文件。在 Azure 中创建了新的构建定义配置文件和新的 Web 应用程序 - 错误再次出现。

8) 尝试了此解决方案 Library/Static Method not Updating in Azure 没有像该页面上的第 3) 点那样的合并错误。

有 TFS/VSO 专家可以提供帮助吗?

我们在一个小团队中工作,没有 VSO 经验的新成员加入了。他在前端工作 AJAX、JSON、CSS、HTML5 - 无需使用类库或其他任何东西 - 只需通过 TFS 提交他的代码。

我怀疑他可能是个问题,所以修复了远程访问并进去了。他没有更新 Windows 7 自新以来 - 大约 4 年。 "Never had a BSOD" 是回应。他试图安装 IIS,但机器对此不太满意,因此无法在本地进行测试,我不知道 Visual Studio 中的网络服务器在做什么 - 他的系统不是英文的。无论如何,我右键单击了我在英文版上应该做的地方并进行了递归拉取 - 然后单击看起来像 Pending Changes 的内容并进行了签入。

成功 - 解决方案构建成功。

我告诉我的程序员删除 Visual Studio 并且再也不要在那台 PC 上进行结帐 - 并且我正在为他提供一个带有完全修补的机器和软件的远程桌面。

您可以采用以下方法之一:

1) 您是否检查了您项目的 "Enable Nuget Package Restore"?

您可以使用以下文档来执行此操作:

http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

或:

2) 阅读下面的源代码,如果第一种方法对您不适用或没有帮助,它可能会对您有所帮助:

http://blog.codingoutloud.com/2013/08/31/are-you-missing-an-assembly-reference-why-yes-i-am-so-kind-of-you-to-ask/

希望我提供的两种方法都能支持你的问题。

抱歉没有早点回来。

正如所讨论的,即使在流氓程序员签入后成功构建,问题又回来了,但随后又回到了不构建的状态。

最后我们重命名了类库(通过右键单击并重命名)。然后检查所有其他需要它的项目对该类库的引用。有一个子项目在 "add.. reference..." 上没有勾选,但在项目的属性和引用中勾选了。所以这一定是正确地重新建立了vbproj文件中的行。

我们建造刚果!