Visual Studio Online无法在构建服务器上的类库中定位类中的函数

时间:2015-05-07 10:57:12

标签: vb.net visual-studio-2013 tfs

您好我在VSO日志中遇到错误并且构建失败

  

d:\ a \ src - *** - \ r2rJSONcall.aspx.vb(31):' rptJSONRoutesTable'不是   ' 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)我删除了我的本地文件夹,并从sourcecontrol执行了全面检查 - 由@MetaFight建议。这在当地编译得很好,没有文件丢失。

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

的建议将dll检入源代码

3)在本地运行MSBuild。解决方案编译好了。

4)重命名,然后在classlib中移动函数以尝试在Azure服务器上触发重建。仍然无法找到该功能。

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

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

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

8)在该页面上尝试了此解决方案Library/Static Method not Updating in Azure No Merge错误,如第3点)。

那里的任何TFS / VSO专家都可以提供帮助吗?

3 个答案:

答案 0 :(得分:1)

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

我怀疑他可能是一个问题,所以修复了远程访问并进入。他不会更新Windows 7,因为新的 - 大约4年。 “没有BSOD”就是回应。他试图安装IIS,机器对它不满意,因此无法在本地测试,我不知道Visual Studio中的Web服务器在做什么 - 他的系统不是英文版。无论如何,我右键单击了我在英文版上所做的操作并进行了递归拉动 - 然后点击了看起来像Pending Changes并进行了检查。

成功 - 解决方案建立好。

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

答案 1 :(得分:0)

您可以执行以下方法之一:

1)您是否为项目选中了“启用Nuget包还原”?

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

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/

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

答案 2 :(得分:0)

抱歉不要早点回来。

正如所讨论的那样,问题又回来了,尽管它确实设法在从流氓程序员办理登机手续后建立,然后又回到了不建设的状态。

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

刚果我们建立!