Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“TFS构建服务器”;Can';“找不到有效的AspnetCompilerPath”;用于TeamBuild发布网站_Tfs_Msbuild_Web Site Project_Publish Profiles - Fatal编程技术网

“TFS构建服务器”;Can';“找不到有效的AspnetCompilerPath”;用于TeamBuild发布网站

“TFS构建服务器”;Can';“找不到有效的AspnetCompilerPath”;用于TeamBuild发布网站,tfs,msbuild,web-site-project,publish-profiles,Tfs,Msbuild,Web Site Project,Publish Profiles,我在TFS2013使用团队构建时遇到问题,该团队构建先进行构建,然后发布网站。 当我使用VS2013和(右键单击)发布网站从我的开发人员机器发布网站时,一切正常 网站项目的选项。我在TFS2013生成服务器上遇到以下错误: C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.aspnetcompiler.targets(421,5):错误: ** 我正在

我在TFS2013使用团队构建时遇到问题,该团队构建先进行构建,然后发布网站。
当我使用VS2013和(右键单击)发布网站从我的开发人员机器发布网站时,一切正常 网站项目的选项。我在TFS2013生成服务器上遇到以下错误:

C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.aspnetcompiler.targets(421,5):错误:

**

我正在团队构建设置中使用以下MSBuild参数。
/p:DeployOnBuild=true;VisualStudioVersion=12.0;DeployTarget=WebFileSystemPublish;PublishProfile=发展

开发Web转换在构建服务器上可以很好地响应“PublishProfile=Development”参数。这个 为我们的开发环境正确地转换了Web.Config文件。 如MSBuild参数中所述,我使用文件系统发布选项,并希望保持这种方式

我已修改生成服务器“C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.aspnetCompiler.targets” 要在目标“ConfigureForAspNetPreCompileMerge”中记录某些属性,请执行以下操作:

<Message Text="[TargetFrameworkVersion]: $(TargetFrameworkVersion)" />
<Message Text="[AspnetCompilerPath]: $(AspnetCompilerPath)" />
<Message Text="[Framework40Dir]: $(Framework40Dir)" />
<Message Text="[MSBuildToolsRoot]: $(MSBuildToolsRoot)" />
<Message Text="[MSBuildRuntimeVersion]: $(MSBuildRuntimeVersion)" />

将以下信息记录到团队构建的website.log文件中: SPNetPrecompileMerge的配置:

[目标框架版本]:v4.0 [AspnetCompilerPath]: [Framework40Dir]:C:\Program Files(x86)\MSBuild\v4.0.30319 [MSBuildToolsRoot]:C:\ProgramFiles(x86)\MSBuild\ [MSBuildRuntimeVersion]:4.0.30319

[Framework40Dir]与在同一MSBuild目标上记录相同数据的本地计算机不同:

12> 任务参数:Text=[TargetFrameworkVersion]:v4.0 12>
[TargetFrameworkVersion]:v4.0 12>任务 参数:Text=[AspnetCompilerPath]:12>[AspnetCompilerPath]: 12> 任务参数:Text=[Framework40Dir]: C:\Windows\Microsoft.NET\Framework\v4.0.30319 12>[Framework40Dir]: C:\Windows\Microsoft.NET\Framework\v4.0.30319 12>任务 参数:Text=[MSBuildToolsRoot]:C:\ProgramFiles(x86)\MSBuild\12> [MSBuildToolsRoot]:C:\ProgramFiles(x86)\MSBuild\12>任务 参数:Text=[MSBuildFrameworkToolsRoot]: C:\Windows\Microsoft.NET\Framework\12>
[MSBuildFrameworkToolsRoot]:C:\Windows\Microsoft.NET\Framework\12>
任务参数:Text=[MSBuildRuntimeVersion]:4.0.30319 12>
[MSBuildRuntimeVersion]:4.0.30319

[Framework40Dir]的TeamBuild值为:“C:\Program Files(x86)\MSBuild\v4.0.30319”vs 我的本地开发计算机:C:\Windows\Microsoft.NET\Framework\v4.0.30319

这似乎很不寻常

我还更改了TeamBuild文件:“C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.aspnetcompiler.targets” 手动将Framework40Dir的属性设置为“C:\Windows\Microsoft.NET\Framework\v4.0.30319” 但是,当团队构建过程达到这一点并永远运行团队构建时,它似乎会挂起整个团队构建过程,直到我手动停止它

这与在这里工作的解决方案相同: 但这对我不起作用。那个问题和我的问题是一样的

生成服务器是TFS2013.3的最新版本。我没有在这台机器上安装Visual Studio 2013,我非常希望 不要那样做。我已经读到TFS团队构建不需要VS


非常感谢您在这个问题上提供的帮助……谢谢。

我将在构建服务器上安装vs2013。它消除了大多数问题,允许您针对单元测试运行代码覆盖率,并且只要您的开发机器上有有效的许可证,就不需要许可证。我知道这不是您想要的答案。

我会将vs2013安装到构建服务器上。它消除了大多数问题,允许您针对单元测试运行代码覆盖率,并且只要您的开发机器上有有效的许可证,就不需要许可证。我知道这不是你想要的答案。

我找到了秘方。我需要将website.publishproj文件项目部分中的ToolsVersion设置为“12.0”

我还需要在DefaultTemplate.xaml“Run MSBuild for Project”工作流活动中将ToolsVersion设置为“12.0”,如本文所述

TeamBuild现在的工作方式与VS2013发布网站类似……但整个过程所需时间几乎是我们以前使用的Web部署项目的两倍。我将不得不调查是否有办法加快发布过程


希望这能帮助其他人解决这个问题。

我找到了秘方。我需要将website.publishproj文件项目部分中的ToolsVersion设置为“12.0”

我还需要在DefaultTemplate.xaml“Run MSBuild for Project”工作流活动中将ToolsVersion设置为“12.0”,如本文所述

TeamBuild现在的工作方式与VS2013发布网站类似……但整个过程所需时间几乎是我们以前使用的Web部署项目的两倍。我将不得不调查是否有办法加快发布过程


希望这有助于其他人解决此问题。

请将$(Framework40Dir)更改为路径C:\Windows\Microsoft.NET\Framework\v4.0.30319。

请将$(Framework40Dir)更改为路径C:\Windows\Microsoft.NET\Framework\v4.0.30319。

感谢您的回复。这是我的下一个选项,除非弹出其他内容。在TFS2013构建服务器上安装VS2013和更新3后,结果相同。[Framework40Dir]:C:\Program Files(x86)\MSBuild\v4.0.30319被设置为“ConfigureForAspNetPreCompileMerge”的团队构建目标中的MSBuild目录位置。您是否登录到构建服务器并在那里的vs中构建了它?在TFS2013构建服务器的VS2013中,th
<Message Text="[TargetFrameworkVersion]: $(TargetFrameworkVersion)" />
<Message Text="[AspnetCompilerPath]: $(AspnetCompilerPath)" />
<Message Text="[Framework40Dir]: $(Framework40Dir)" />
<Message Text="[MSBuildToolsRoot]: $(MSBuildToolsRoot)" />
<Message Text="[MSBuildRuntimeVersion]: $(MSBuildRuntimeVersion)" />