我有一个解决方案,其中包含一个网站项目和几个支持类的项目。每个项目都有一个独立的基本功能:配置,数据,身份,业务对象等。当我在VS2008中打开解决方案时,它完美地构建。它运行,运行,调试,并且没有编译或JIT异常。如何追究此TFS自动构建错误的原因?
在TFS 2010中生成自动构建定义后,构建将按顺序运行并编译所有子项目。他们都是针对“调试|混合平台”,因为我阅读的文档试图追查我的错误,这表明这对于网站项目是必需的。我可以在构建日志中看到所有新编译的库和所有第三方库都被复制到\Binaries
目录和网站的\bin
目录中。然后日志中的下一行是:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -v /MySolution -p ..\MySolution\ -u -f -d -fixednames D:\TFS\b\308\Binaries\_PublishedWebsites\MySolution\
D:\TFS\b\308\Sources\MySolution\SomeFolder\SomePage.aspx.vb(15): error BC30456: 'MyProperty' is not a member of 'Some_UserControl_ForPage'. [D:\TFS\b\308\Sources\Solution Files\MySolution.sln]
Done Building Project "D:\TFS\b\308\Sources\Solution Files\MySolution.sln" (default targets) -- FAILED.
Build FAILED.
"D:\TFS\b\308\Sources\Solution Files\MySolution.sln" (default target) (1) ->
(MySolution target) ->
D:\TFS\b\308\Sources\MySolution\SomeFolder\SomePage.aspx.vb(15): error BC30456: 'MyProperty' is not a member of 'Some_UserControl_ForPage'. [D:\TFS\b\308\Sources\Solution Files\MySolution.sln]
用户控件的问题属性属于“祖父母”继承。控件本身继承业务对象库中的自定义WebUserControl。该类继承自具有此基本属性的较不具体的WebUserControl。当代码行被注释掉时,错误会发生变化,但这只是构建链中进一步发生的另一个“不可能”错误。
我们有其他网站项目成功地自动构建和部署从这个构建代理2.0+的所有框架。当我更改构建定义(工作区等)的各种属性或调整解决方案本身内的构建配置时,它不会改变行为。构建完成后,所有成功构建的项目都会在构建文件夹中结束。此外,该解决方案还有一个不太复杂的网站项目,它成功构建并最终位于构建文件夹的_PublishedWebsites文件夹中。