.net VS、TFS和TeamBuild模板版本之间的兼容性? 免责声明:
我不是团队建设专家。我知道我问的问题可能很愚蠢 我现在拥有的 我有一个VS2010解决方案,包含10多个控制台应用程序和3个ASP.NET Web应用程序项目。 我使用以下选项在TFS2013.2服务器上建立了TeamBuild:.net VS、TFS和TeamBuild模板版本之间的兼容性? 免责声明:,.net,visual-studio,tfs,tfsbuild,alm,.net,Visual Studio,Tfs,Tfsbuild,Alm,我不是团队建设专家。我知道我问的问题可能很愚蠢 我现在拥有的 我有一个VS2010解决方案,包含10多个控制台应用程序和3个ASP.NET Web应用程序项目。 我使用以下选项在TFS2013.2服务器上建立了TeamBuild: TeamBuild模板是默认的TFS2010 DefaultTemplate.xaml 它以解决方案文件为目标 以drop文件夹结尾的文件包括: 控制台应用程序的所有EXE和配置文件 一个_PublishedWebsites文件夹,每个web应用程序项目包含一个
- TeamBuild模板是默认的TFS2010 DefaultTemplate.xaml
- 它以解决方案文件为目标
- 控制台应用程序的所有EXE和配置文件
- 一个_PublishedWebsites文件夹,每个web应用程序项目包含一个文件夹。请注意,web.config XML转换未完成
- 每个控制台应用程序一个文件夹
- web.config XML转换
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets (3009): Web deployment task failed. (Unknown ProviderOption:DefiningProjectFullPath. Known ProviderOptions:.)
我的问题
- VS2010解决方案在由TFS2013生成模板生成时失败是否正常
- WebDeploy似乎根本不涉及TFS2010默认构建模板,但却涉及TFS2013构建模板,这正常吗
- 如果没有,是否可以在.csproj文件中进行一些调整,以使其由TFS2013生成模板生成
- 我是否必须将目标文件更新为V12版本,因为构建它的是TFS2013
- 我已经在构建服务器上安装了WebDeploy 3.5,并且已经可以使用了
- 所有目标文件看起来都在适当的位置
另一种方法是使用支持配置文件标记化的工具——这样,您就有了一个配置文件,其中只包含可以在发布时用适当值替换的标记。但这将需要额外的工具和配置,您可能对此不感兴趣。多亏了Sayed Ibrahim Hashimi的一篇文章,我今天才弄明白。
基本上,它解释了在使用VS2012或VS2013打开VS2010解决方案时对.csproj所做的修改。指向.targets文件的链接(在本例中为Microsoft.WebApplication.targets)是相对于用于打开解决方案的VS版本创建的 由于我正在使用的解决方案仅适用于VS2010,因此我所指向的.targets文件是特定于VS2010的版本,位于
C:\ProgramFiles(x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets
我手动编辑了我的3个web应用程序项目的.csproj文件,以包含Sayed的修改,然后基于TFS2013默认构建模板的构建工作非常出色
我猜:TFBuild2013正在向某个WebDeploy MSBuild任务传递参数,而.targets文件的VS2010版本不理解该任务
谢谢你的回复,@Daniel Mann 谢谢你的回复,丹尼尔·曼。关于每个项目,好的,明白了。一种解决方案是引用所有的.csproj,而不是一个.sln。VS2013.2安装在生成服务器上。我也看到了你提到的错误,但我觉得有些不同。您发现的这些特定错误与.targets文件的v12相关。我明天再把它挖出来一点。至于web.config XML转换,我听到了您的观点,但我唯一希望它完成的时间是在将应用程序部署到我们的集成机器时。