My end goal is to run a devenv.com command from a TeamCity build configuration but it's currently hanging when it reaches the deploy stage. If I run the same command from the command line on the build agent server I get a popup at the point when it reaches the deploy stage.
Should state that the solution is a mixture of VSeWSS and WSPBuilder projects for creating .wsp solution files for WSS 3.0.
The command is
"C:\Program Files (x86)\Microsoft Visual Studio
9.0\Common7\IDE\devenv.com" "C:\b\work\807e2e3b4b06ef27\mySolution.sln" /deploy Release /package
The dialog that gets displayed is:
If I hit OK in this dialog, I then get this one:
I assume it's hanging in the TeamCity build because the dialog is stopping the process. I was under the impression though that running "devenv.com" would prevent any UI elements from being shown.
Related
I am trying to understand why is my WindowsForm app publish behaving differently, when done via command line and via Visual Studio's Publish.
The differences are:
In my command line publish, a copy of the .exe is placed in the top-directory publish folder, while it is not there, when published via VS
In my command line publish, the .application file is missing in the [Application Files] folder, while it is there when published via VS
A screen shot illustrating the exposed above:
Anyone has any idea why does this happen ? I have tried playing with the publish settings, but still without success.
Below is what my command line statement looks like (ran via Jenkins):
Explanation on specific differences between my click once publish when done via command line and from Visual Studio
That because some features are done by Visual-Studio and not by the MSBuild command line. So the click-once-deployment behaves differently when it's executed from the command-line.
When you publish via command line, only Project.exe and Setup.exe are copied to the deployment folder. You can switch the deployment folder by property PublishDir:
msbuild "ProjectName.csproj" /target:publish /p:Configuration=Release;PublishDir=D:\TestPublishFolder
When you publish from Visual Studio, Visual Studio will do some more features, including Application Files folder and .application file into deployment folder.
If you want to have the same publish result as Visual Studio when you publish via command line, you can custom target to achieve it.
See ApplicationFiles folder missing when ClickOnce publish with command line for more detailed info.
Hope this helps.
When Gulp task is bound to 'project open', the task will be started again and again if the project file get changed. So we end up having multiple running instances of the same task.
How to get around this so that the runner recognizes that the task is already running and won't start it again on project open binding?
Just to be clear the VS Task Runner is not the greatest thing in the world. It is super sensitive to specific settings and malfunctions at will without changing anything.
With that said bind the task to "Before Build", and not to "Project Open". I'm guessing that you are doing that in order to install npm, or bower packages since that is a task that you don't want to run on every build.
All in all, save yourself a few hours of headache after headache and use the command line outside of Visual Studio. If you are on Windows and you don't like the prompt, I don't either. It sucks. And that's an understatement.
Use Cmdr and love the prompt again.
I have VS 2010 Premium SP1 and using MSTest
The project has a web reference to a Web Service
The tests are integration tests
TestDriven.NET-3.8.2877 RTM which includes NCover 1.5.8
My problem is that it runs the MSTests and creates the pass/fail *.trx file but will not create a coverage report. I get the coverage report if I right click and select test with\NCover. The problem is I want to run in in the command line so I can just make it a task in my continuous integration pipeline.
The error returned is:
Profiled process terminated. Profiler connection not established.
I searched for solutions and tried the following:
Using the //reg in the command line
Updating the config.exe file to use .NET 4.0
Forcing the NCover DLL to register
Here is my command line:
ncover.console.exe //x mstest_coverage.nccov "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe" /testcontainer:D:\Perforce3666\serviceengine\SessionStorage\dev\SQATesting\SessionStorage.SQA.Testing\bin\Release\SessionStorage.SQA.Testing.dll
I have a custom application which brings together several resources and builds a Visual Studio project into an exe file I can then use to upgrade my company's website and database. This custom app uses System.Diagnostics.Process in a couple of places to access SourceSafe, I use the command SS ... -Y, to log into SourceSafe and process some events which works as I would expect. I'm not logged into the company's domain which is why I am manually logging into SourceSafe.
Now when I get to the part where I start building my VS2010 project, I'm using this command devenv /Build Release /Out ..\Log.txt /project <MyProject> it does not build my project, and the log file shows this error...
The following files were specified on the command line: <Path to my VS project> These files could not be found and will not be loaded.
The path to my project is correct and if I run it from a command window it loads the project, asks for my SourceSafe credentials and it builds. So my question is... Is there any way I can log into SourceSafe using the command line above, or by adding to the ProcessInfo parameters before I execute the command line?
You may check out the thread below and see if it helps:
http://social.msdn.microsoft.com/Forums/en/vssourcecontrol/thread/8d00f574-7d9d-4a0d-aa0a-4c7832df0379
I have set my Visual Studio to start Nunit as an external program to run all the tests written in a module.
Now what I am trying to do is to create a batch file which will call Myproj.exe. What I am expecting is that it will run Nunit as I have set it to run an external program and execute all my tests in nunit.exe, but when I run that batch file it starts running from Visual Studio instead of opening NUnit.
Can any one please give me a clear idea as how to accomplish it?
I am too much stuck.
Now I am trying to run the following commands in shell
nunit-x86.exe
Can you please tell how should I load my visualbasic project file (exe) here and then run all the tests from here
as unable to execute following command
nunit nunit.tests.vbproj /config:release
You can make NUnit start everytime you debug your "NUnit tests".
You can attach the debugger in Visual Studio Express doing it that way.
If you use a "full version" of VS do it that way:
Note that if you’re using the full and
not the express version of Visual
Studio 2005, you can do this by
opening up the project’s properties,
and in the Debug tab select Start
External Program: and navigate to the
NUnit executable, and set
YourCompanyname.YourProject.Test.dll as the
Command Line Arguments.
I got that ideas from this tutorial(Page 4/5) and love it.
You can also run NUnit after every successful build in Visual Studio with a Post-Build Event.
In VS2005, right-click on the project that has your tests and select Properties. Then on the Build Events tab, in the "Post-build event command line", put this* to use the console:
nunit-console /xml:$(ProjectName).xml $(TargetPath)
or this to use the GUI::
nunit $(TargetPath) /run
In "Run the post-build event:", leave the default: "On successful build"
If you use the GUI, know that your build will appear to be hung up until you close the GUI app.
*NOTE: The nunit console command line docs say "By default the nunit-console program is not added to your path."
you can just shell nunit.exe with the command line to your assembly to run tests in.
You can load nUnit.exe (nUnit-Console.exe for command line execution) using external tool features in Visual studio. Once you add the command via external tools feature (as explained in this blog), you can use it for any project to execute the tests. (Other is to add through project properties but that needs to be done for every project). Also in the arguments you can pass /include or /exclude to include or exclude categories of the tests.
The advantage of this method is you need not worry about giving path to DLL file and it works for any project you are on and gets executed with few clicks