Deploying a project on RAD - rad

When we deploy a web/ejb project on WAS from inside RAD, does it compile the project and then deploy? I ask this because sometimes, the project has no build errors, but when i try to deploy it says Publish failed and the project is marked red with build errors.

Check if under Project in the menu Build automatically is checked and in your server properties the option Run server with resources within the workspace should be selected.
If this doesn't help, you'll need to post more information !

Related

nuproj.props file is missing

I have a library that I can successfully build locally and on another computer. However, when I try to do the build at VSTS online, I get
classes.csproj(152,5): Error : This project references NuGet
package(s) that are missing on this computer. Use NuGet Package
Restore to download them. For more information, see
http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is
....\classes\packages\NuProj.0.11.30\build\NuProj.props
I have tried multiple times to check the git repository but comparison shows that the VSTS version is the same.
What am I missing? Do I need to delete this VSTS project and simply reload? Hoping not.
From the command line, you need to do a manual nuget restore before building your project. Visual studio can take care of this automatically. But from the command line, msbuild is not running visual studio.
Thus do something like
nuget restore c:\my\path\to\my\project.sln

The target "Package" does not exist in the project - Web deploy installed

I have a build server build on Teamcity.
I'm trying to build a package using it, but I get an error.
The target "Package" does not exist in the project
I googled about this issue and found out I need to install Web Deploy. So I did. I've installed Web Deploy 3.5, but the error is still present. I've even did a reset.
This was top result on DuckDuckGo for me, so I feel this is an appropriate place to share Troy Hunt's wisdom. My "ProjectFile" was a Solution file. Solution files do not support the "Package" Target directly. My Build scripts (written in Cake in this case) were attempting to package the solution instead of the applicable projects.

How to resolve errors with namespaces and references?

I just added an existing MVC project to VS 2012 that i downloaded from Codeplex. The problem is when i'm trying to build or run the project i get a lot of errors that VS can not find references and namespaces. If i open a new MVC project then i'm not getting this errors and everything runs fine. So it only occurs when i try to open an existing project.
Can someone help me with this please?
From the VS 2012 menu select Tools->Library Package Manager->Package Manager Settings. A window will appear. Check the checkbox labeled "Allow NuGet to download missing packages during build" under the Package Manager->General heading. Click the OK button to apply the setting.
Next in the Solution Explorer right-click the Solution node and select Enable NuGet Package Restore. Perform a Clean Solution and then a Build Solution. A .nuget folder should be downloaded into your solution and all compile errors related to missing references should be resolved.
This is what worked for me.

TFS build Xap packaging failed because it is being used by another process

I am responsible over managing our automated builds and recently we have moved two silverlight based web applications into the same solution. Now about half the time when we build through the build server the build fails randomly with one of the two xap files with the following error message.
Xap packaging failed. The process cannot access the file
'G:\Builds\2\Application Suite\Main\Binaries\silverlight app1.xap'
because it is being used by another process.
The structure is as follows:
web app1 BUILDS silverlight app1
web app2 BUILDS silverlight app2
Can some one help me solve this issue it is causing me quite a headache?
For TFS 2013, where MSBuild Multi-Proc parameter is no longer present, try to set MSBuild Arguments to /m:1
See:
http://msdn.microsoft.com/en-us/library/bb651793.aspx
http://social.msdn.microsoft.com/Forums/vstudio/en-US/0b856b65-37de-4256-8a09-e233911985f1/tfs2013-msbuild-problems-with-parallel-build?forum=tfsbuild
It turns out that I had to change the tfs build settings for msbuild to build each of the projects one at a time.
Here are the steps to take:
Goto builds -> Edit Build Definition -> Process Tab -> Edit "MSBuild Multi-Proc" to False
Not the best solution as it slows the total build process down because the projects cannot build in parallel but it worked

TFS2010 Build does not deploy web application

I'm trying to get my web application to deploy automatically at the end of an automated build and I'm obviously missing something.
My setup is:
VS2012 on a Win7 workstation
TFS2010 repository on serverA
TFS build agent on serverB
Test site in IIS7 on serverC.
I have created a quick test project using the default MVC4 template and created a Team Project to go with it using the MS VS Scrum 1.0 template.
I created a new publish profile for the web application using the publish web dialog and the .pubxml file is checked in with the project. The .pubxml file looks something like this:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>TestServer/DeployTest</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>http://TestServer</MSDeployServiceURL>
<DeployIisAppPath>webapp-dev/DeployTest</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>mydomain\myuser</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="" />
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
*some of the names have been changed to protect the innocent :)
Using this profile I can successfully publish the application from Visual Studio to the test web server without any issue. Following Scott Hanselman's blog post I successfully published from the command line on my workstation:
msbuild DeployTest.csproj /p:DeployOnBuild=true /p:PublishProfile=Test /p:AllowUntrustedCertificate=true /p:Password=notTheRealPassword
I then created a build in Team Explorer that would use my build server to compile and then run the unit tests. All good. The project builds, unit tests pass.
I then added the parameters from the command line to the MS Build Arguments in the Advanced section of the build definition:
/p:DeployOnBuild=true /p:PublishProfile=Test /p:AllowUntrustedCertificate=true /p:Password=notTheRealPassword
The build runs, the unit tests pass, nothing is published to the web server. :(
Can someone enlighten me as to what I have missed? Nothing I've read seems to indicate a step I have missed out but there's seemingly precious little documentation to explain how this is done.
It sounds like tfs might not support publish profiles.
You may need to pull out all the parameters from the profile and specify them manually.
Here's a similar question.
Team Build: Publish locally using MSDeploy
I know this is an old question but today I ran into the same issue and I think I know the reason for the behavior you observed. Let me summarize the issue:
You have create a web deploy publish profile.
When you use the profile from command prompt with MSBuild command, the site is published successfully.
But when you use this profile from the build definition (by specifying MS Build Arguments in the advanced section of the build definition) the site is not published.
I think the reason behind this is because you have VS 2012 on your workstation which supports publish using profile feature. Hence when you run the MS build from command prompt on your work-station the site is published. But the support for publish profile is not available on TFS 2010 hence with build server the site is not published.
I faced the same issue today and I did following to resolve the issue:
On TFS machine, from the command prompt, I ran the MS Build command with publish profile. The command ran successfully but nothing got published (copied) on the site. This proves that TFS 2010 server does not support public profiles.
I had VS 2010 deployed on the TFS machine. I installed web deploy 3.5 and Windows Azure SDK for Visual Studio 2010. This is the way to provide support for publish profile on VS 2010.
Then I ran the MS Build command using published profile from command prompt and it published the site successfully.
Then finally executed the build definition with MS Build parameters and the site got published successfully.
I know installing Visual studio on TFS machine not an ideal solution but at least it solved my problem.
I am also not sure why installing VS 2010 with publish profile support resolved the issue. But it seems that, after the installation some of the missing components/dlls got deployed on the TFS machine which resolved the issue.
Hope this resolves your deployment issue.
[UPDATE]: There could be another reason for the above behavior. Check the log messages of the build activity. If you find a warning similar to this:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets (484, 9): warning: The OutputPath property is not set for project ProjectName.csproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Release' Platform='Any CPU'
Then it may be related to build configuration. If you are using “Any CPU” as build configuration then change it to “AnyCPU” (remove space). Refer following link for the detailed explanation:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/0bb277ec-a08c-4795-88f0-3207654e2560/the-outputpath-property-is-not-set-for-project-xxxxxbtproj-please-check-to-make-sure-that-you?forum=tfsbuild
Amey