2015-03-02 62 views
0

我们的一个客户使用Visual Studio的在线(http://www.visualstudio.com/en-us/products/what-is-visual-studio-online-vs.aspx),这是基于我们在研究如何不使用Visual Studio在线托管生成代理自动构建和自动单元测试的Team Foundation Server(TFS)Visual Studio Online - 托管构建代理 - 为什么obj Debug没有创建和/或不可访问?

的能力。

我们正在尝试构建其上的一个Web应用程序。 注:Web应用程序将正确地构建和使用Visual Studio 2012

可悲的是我们当地的开发计算机上运行正常,我们得到有关下列错误OBJ \调试

$/BlahBlah Master Framework/BlahBlahUIFrameworkForBuildTst/BlahBlah.sln - 4  error(s), 21 warning(s), View Log File 
C:\a\src\BlahBlahUIFrameworkForBuildTst\packages\Microsoft.Bcl.Build.1.0.13 \tools\Microsoft.Bcl.Build.targets (79): The "EnsureBindingRedirects" task  failed unexpectedly. 
System.UnauthorizedAccessException: Access to the  path 'C:\a\src\BlahBlahUIFrameworkForBuildTst\BlahBlah\obj\Debug\BlahBlah.csproj.App.config' is denied. 
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess  access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize,  FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean  bFromProxy, Boolean useLongPath, Boolean checkHost) 
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess  access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath,  Boolean bFromProxy) 
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess  access, FileShare share, Int32 bufferSize, Boolean useAsync) 
    at System.Xml.XmlWriterSettings.CreateWriter(String outputFileName) 
    at System.Xml.Linq.XDocument.Save(String fileName, SaveOptions options) 
    at Roxel.BuildTasks.EnsureBindingRedirects.Execute() 
    at  Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecution Host.Execute() 
    at   Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() 
CSC: Source file 'obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20- 8F5ADCB23D92.cs' could not be found 
CSC: Source file 'obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b- f7221da3dda1.cs' could not be found 
CSC: Source file 'obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E- 8E70B10BC5D3.cs' could not be found 

基本上,分析上面的错误,它声明构建过程是未经授权访问obj \调试

然而,稍后它还声明obj \ Debug \中的某些文件找不到。例如,这里是错误之一:

CSC: Source file 'obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs' could not be found 

我知道这可能是穷人的做法,但我想从我的本地开发计算机犯OBJ \调试\文件夹(S),但是,它仍然扔上述错误。 纠正我,如果我错了,但我相信obj \ Debug \文件夹应该由构建过程本身创建,因此不应该提交到Visual Studio联机存储库(甚至任何类型的代码库)。

在任何情况下,让我解释一下我的Visual Studio Online的托管生成代理的生成定义设置如何:

源设置,我只保证工作文件夹包括我的Web应用程序的“源代码管理文件夹”对应到具有相同名称的“生成代理文件夹”。 “源代码管理文件夹”和“生成代理文件夹”具有相同的名称。

对于构建默认,“生成器”被指定为“托管生成控制器” 和分段位置被设置为“复制生成输出到服务器”

对于“私人放置位置”,“解决方案特定的构建输出“设置为False,这意味着所有构建输出将位于同一个文件夹中。

是否必须在我的Visual Studio Online的托管构建代理的构建定义设置中更改配置,以便创建和/或使其可访问obj \ Debug?如果是,我应该做什么配置更改?

THX

回答

1

的“目标文件”文件夹,用来存放用于创建最终的二进制临时对象文件和其他文件。你不应该在那里引用一个文件。

+0

Thx。我从Visual Studio Online Code Respository中删除了“obj”和“bin”文件夹。但是,构建仍然失败,并抛出如下错误:CSC:无法找到源文件'obj \ Debug \ TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs'在构建定义中,源代码管理文件夹是Web应用程序的根目录和相应的生成代理文件夹也是Web应用程序的根目录。你能否给我多些建议? – 2015-03-03 10:18:52

+1

这是配置为网站还是Web应用程序?在生成的bin文件夹中是否有单个预编译的二进制文件? – 2015-03-03 16:45:06

+0

https://social.msdn.microsoft.com/Forums/vstudio/en-US/b214b218-e3d8-463b-b627-a814507a6ac8/visual-studio-online-hosted-build-agent-why-is-objdebug-not -created-andor-not-accessible?forum = TFService#f4486be4-dc1a-4b6c-825c-01f4da84880f @renevo建议检查解决方案文件(.sln)文件是否准确。因此,我也继续检查解决方案中的csproj文件。 – 2015-03-04 06:12:18

相关问题