I am running into an issue when using a TFS build failing due to not being able to write to the Web.config file. I have a Web.config transformation so I believe it is failing there.
I have compared my TFS build definition to a different project that is working and I do not see any differences. The only thing I can think is that I renamed the TFS project before checking-in.... not sure if that could have caused the issue.
I am using TFS 2013 and Visual Studio 2015
I was able to resolve the issue by removing the TransformXML beforeBuild from my csproj file.
Related
I am receiving this type of warning:
##[warning]C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): Warning MSB3245: Could not resolve this reference. Could not locate the assembly "PatientEquipment".(Should not be looking for the assembly on the C:\Drive.)
Shortly after, I am getting this error:
##[error]Full\Source Code\EA\DeviceApi\Controllers\Prescription.cs(18,31): Error CS0234: The type or namespace name 'BW' does not exist in the namespace 'PatientEquipment' (are you missing an assembly reference?)
I am in the process of moving builds from tfs 2013 to tfs 2017 and know that these builds have worked previously so there should not have to be any changes to the files, only to the build machine and in the tasks I create for the build. What ideas would you have for solving this error?
Open your project files in a text editor (could also open as XML file in Visual Studio) and search for PatientEquipment reference. It should have a HintPath. Make sure that this path is mapped in the build definition. Whether it is a file reference or a project reference, the path to that file (or project) seems to be missing in TFS build mapping
The issue was missing .dll files which were pulled from another project and copied over to another project. On another project, I was having similar issues and just changed the version of Visual Studio that I was using in my tasks. It is interesting that the build needed 2017 instead of 2010 like it had been asking for in one of the csproj files.
Go to concerned DLL, do right click and change Specific version option to False. Build project once again. And try to check-in.
In this way we do not need to change anything in .csproj
I've been scouring various Nunit articles for the past several days trying to figure out the issue with why my Nunit tests are not running.
I am using TFS 2015 Build vNext engine and the Visual Studio Test step to execute my Nunit test cases. The VS 2015 solution used for generating the Nunit test dlls contains the several .net projects and 2 Nunit test projects. Nunit3.0 and Nunit3.0 Test Nuget packages are being used to create and execute the tests. Here is the nuget configuration and nunit.framework reference in my Visual Studio 2015 solution. The test cases run fine in the Visual Studio IDE and compile without error when the solution is build in vNext.
When the VS Test step executes in Build vNext, I get the following warning:
Warning: Dependent Assembly nunit.framework of E:\TFSBuild_Directory\14\s\EBS\B_WebEnable\ABC.Data\ABC.Data.Core.Nunit.Tests\obj\UnitTesting\ABC.Data.Core.Nunit.Tests.dll not found. Can be ignored if not a NUnit project.
The VS Test step is configured:
VS Test Step Configuration
I have confirmed on the build server that the nuget packages are getting restored to the build server and the Nunit.framework.dll appear to be in the expected file path as compared to my local path.
Any ideas as to what could be causing this issue? Any input is appreciated!
I have restored Nunit and Nunit3TestAdapter from Nuget to have a test on my side, but couldn't reproduce your issue. I'd like to share my steps here for your reference:
Restore Nunit and Nunit3TestAdapter from Nuget in VS for the test project (as your first screenshot), and check in the packages.config file.
In "Visual Studio Test" task, specify $(Build.SourcesDirectory)\packages in "Path to Custom Test Adaptors". As if there is a packages folder in the sources directory, it is automatically searched for testadapters (It seems you have a long path, you may need to check it).
I use the default VS template:
No error or warning occurred during this process. You can compare your steps with mine and correct yours. Hope this helps you.
Ok - after stepping away from the issue and coming back to it with fresh eyes, I found the issue causing the nunit.framework.dll issue.
After going step by step through the build definition, I forgot that I had an MSBuild parameter in the build step that was copying the compiled output to another location /p:OutDir=$(build.stagingDirectory)\ABC. Once I changed the test step to point to the new location, everything worked fine. Thanks everyone for the feedback!
I am having and issue with TFS 2015 doing a continuous integration build. I have added 3 projects to my Questionnaires solution which are meant to be shared code between other solutions as well. Therefore those projects each have their own folder structures under TFS not under Questionnaires.
When I go to do a checkin, TFS is getting the path wrong to one of the projects and therefore won't build. The path it is looking for is-
C:\Builds\1\Questionnaires\Questionnaires\src\Source2\Questionnaires\Dev\Questionnaires\Questionnaires.sln.metaproj: The project file "C:\Builds\1\Questionnaires\Questionnaires\src\Source2\Questionnaires\Dev\Questionnaires......\Common\Main\Common\Common.Utilities\Common.Utilities.csproj" was not found.
That should be the correct path as that is the way it is in TFS under it's own folder.
Where the code is actually ending up is:
C:\Builds\1\Questionnaires\Questionnaires\src\Source2\Common
the \Main\Common folder is missing.
You need to correct your workspace mapping under the "source settings" tab. This sets the folders that will be downloaded from source control to your build server's working folder for the build.
We are running VS2013, along with VSTS for source control. We have a checkin policy that enforces a checkin Comment and for the user to assign a Work Item(s) to the checkin. This has been working fine as expected for a while.
Recently, I got one of the developers to test VS2015 Update 1. He is now reporting to me that the checkin policy doesn't seem to work properly; even though he correctly adds a Comment and assigns a Work Item for the checkin, the system doesn't seem to recognise them and it gives a 'policy failure' warning like this:
Is this a known bug with VS2015? Or some sort of compatibility issue upgrading from 2013 to 2105?
Install 2015 Power Tools on the client PC. Your Power Tools version has to match your Visual Studio Client.
In the past years, we also had to update our check in policies, from 2013 to 2015.
Here is somethings you may check.
Recompile your CheckInPolicy project updating Visual Studio Assemblies references:
Microsoft.TeamFoundation.Client;
Microsoft.TeamFoundation.VersionControl.Client;
Register your Policies:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\TeamFoundation\SourceControl\Checkin Policies]
"YourCheckInPolicies"="PathToYourCheckInPolicies.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Checkin Policies]
"YourCheckInPolicies"="PathToYourCheckInPolicies.dll"
Hope it helps.
Regards,
Wilsade
The company I'm working at changed our PCs and we had the same problem when we needed to install VS.NET 2015 for some old projects.
I simply copied the below directory's content (from an old PC where policies worked) and placed it in the same directory, in the new PC.
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
If the directory Team Explorer doesn't exists, create it manually and put the content into it.
OBS: When I did it, I already had VS.NET 2015 Power Tools installed.
So, try to solve it with these two steps:
Install Power Tools to VS.NET 2015 as mentioned in the other answers.
Copy necessary DLLs files to Team Explorer directory. I made a copy of them here.
This was my registry after installed Powetools, and because of that I tried to paste files manually... I got lucky. It worked.
Consider a .csproj containing the following directive:
< Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
There's a standalone TFS Build service installed on a machine, with a default Controller and one Agent. The TFS components were installed; Visual Studio was not installed.
When compiling an ASP.NET MVC 2 Web Application (targeting .NET 4), the TFS Build service encounters an error:
C:\somepath\foo.csproj (219): The imported project "C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.
TF270015: 'MSBuild.exe' returned an unexpected exit code. Expected '0'; actual '1'.
It's true: there's no sub-directory "WebApplications" in the "C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0" directory.
It seems that this subset wasn't included in the install of the TFS Build service. TFS doesn't give any options on what pieces are installed for Build service.
What's the most appropriate way to install these artifacts, and any dependencies, on this TFS Build machine? Could this have been avoided?
Have you tried creating the path C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\ manually and copying the file Microsoft.WebApplication.targets there? If Microsoft.WebApplication.targets doesn't contain references to some specific build tasks that should do the trick.
At least that worked for Visual Studio 2005.
Check for unwanted references like 'stdole.dll' in your references and remove it.
connect to tfs again (to refresh)
try to build again.
Best solution is to always install VS2010 on your build machine.