MSBuild Failing To Build Referenced Projects When Upgrading To VS2010?
Dec 8, 2010
I have recently upgraded my .Net 3.5 solution containing some C# code projects and a ASP.net web site project to VS2010 (from VS2008). It is building and running fine inside VS, but I get some problems when trying to build it on my server with MSBuild 4.0 via TeamCity. It seems like the projects that are referenced from the web site are not built. This was all working fine before I upgraded to VS2010, MSbuild 4.0 and Windows SDK 7.1.
Inside the msbuild script that I use to build from teamcity I have defined project references for the web site like this:
[code]...
When I try to run the build script I get an error message saying that it could not find the dll file when trying to copy it from the bin folder of the referenced project into the bin folder of the web site. This is happening because the referenced projects are in fact never built at all (No bin folder exists in the project dir).
I am not very experienced with MSbuild, so I may have overlooked some important stuff. Is it not so that MSbuild will automatically try to build the referenced projects if no project output is existing?
When I upgraded my Web Deployment Project from VS2008 to the VS2010 beta version, I was able to execute the build locally on my development box. However, when I tried to execute the build on our TeamCity build server, I began getting the following exception:
I have a multi-tiered application. I would like to publish the class libraries to UI developers to let them add to their web or windows projects to add all the functionality.
I would like to restrict access so only a certain project can be referenced. The reason is so that they do not refer to the data access layer directly and start making calls that would bypass the business logic built into the business tier.
UI->>Business Logic->>Data Access
So in other words, BL and DA are deployed as compiled assemblies. BL references DA. UI will reference BL, but I would like to strictly prevent any other project from referencing DA directly.
I've seen some teams that start breaking into multiple projects from the beginning and others build behemoth single projects. The large project teams say that one massive project is easier to maintain than multiple smaller projects.
I have a Nant build script which referrences 30 other build scripts.
Each build script referrences a visual studio solution using MSBuild.
Each solution has 3 to 5 projects in.
Some projects are Class Librarys and some are Web Apllications.
The projects reference other projects both in their solution and out of their solution, so the projects do not use project references, they reference the the Release DLLs in the Bin folders of the other projects.
To use the software, I need to publish all the solutions together.
Which means I cannot do a deployment which is in debug mode.
Which means I cannot the step into and debug the code.
I would like to run the build script to get a deployment of the software which I can debug.
I struggling trying to insert the value I select from a "DropDownList1" country list into a TextBox inside a FormView1. I have tried the following but It wont insert the text:I also tested on a textbox1 outside the FormView1 and it works but just after clicking Cancel or Inser in the formView1.
I have recently developed a new vs2010 web application that I would like to add to my web site.
The existing website was developed using vs2008. The web site is hosted on a windows 2008 server running iis 7. My new web application sits below my main website i.e. mywebite mywebsite/mynewwebsite
I have set the application pools for the mynewwebsite to be asp.net v4.0, leaving the application pools for mywebsite as .net v2.0 If I try and open my new web application i.e. [URL] then I get 500. Internal server error. I assume that it is iis that is unhappy here. Do I have to rebuild the whole of my web site to be vs2010 using asp.net v4.0. If I do should I use ASP.Net v4.0 or ASP.net v4.0 Classic for my application pools, and should I have a separate and distinct application pool for each of my web applications ( I have 4 of these) Just to clarify my clients can log on the web site as
I installed VS2010 and proceded to convert my projects but the wizard failed. Insted I decided to recreate the whole solution with 5 projects from scratch, except that my Ajax 4.0 controls do not work. The projects are "Class" type and the final product is complied DLL that I'll be using some place else.
I am referencing the latest AjaxControlToolKit and in one of my projects where I'm building tab panel controls on the fly, where I'm adding "Controls" to the TP such as tpOverdue.Controls.Add(linkButton), the "Controls" throws an error:
'AjaxControlToolkit.TabPanel' does not contain a definition for 'Controls' and no extension method 'Controls' accepting a first argument of type 'AjaxControlToolkit.TabPanel' could be found (are you missing a using directive or an assembly reference?)
Another error I get in a separate project (same solution) where I build the scriptmanager on the fly like this: ScriptManager.RegisterStartupScript(this, typeof(PeopleSearch), "UpdatePanelFixup", "_spOriginalFormAction = document.forms[0].action; _spSuppressFormOnSubmitWrapper=true;", true); - The error is: "The name 'ScriptManager' does not exist in the current context".
Interestingly, this solutiom resides on a 2003 server (developping on test server). I have similar solution on Vista using VS2010 where the difference is that instead of using class projects in my solution I use Web User Controls in my web solution and all works like a charm. I don't know if this is enough info for you guys to offer feedback, so if neccessary, I can post some code. Just let me know.
I had no problem with this in Visual Studio 2008 but it seems that VS 2010 is having an issue, and I'm betting it's probably me.I have a solution with an ASP.NET Web Site Project and a few C# projects (BLL, DAL, Tests in NUnit). I have configured the build process for the test project to automatically run NUnit to run the tests. I would like to ensure that the BLL and DAL projects build before the test project so that the tests will run against the latest compiled version (yes, I know I could do this all in one project, but I'm choosing not to -- please bear with me :) )
So, I set the dependencies of the Test project to include the BLL, DAL, and Web Application projects, and the build order shows BLL, DAL, Web Application, and then Tests. However, I noticed that the BLL doesn't actually build when I build the Test project.Any idea what this could be or any option I might be missing to force the other projects to build when I build the Test project?
I have a web application that has some non-web projects as well. When using Web Deployment, a single assembly is generated for all the aspx.vb files. When using Team Build (TS 2008), a lot number App_Web_xxx.dll file(s) are generated instead of a single assembly. How can i solve this problem and change the TFSBuild.proj file so that it can generate a single Web Assembly instead of a lot number of assemblies.
I guess thats because the MERGE operation is not occurring like it used to happen for Web Deployment Project in my solution. How can i enable MERGE of App_web_*.dll files into a single Web.dll assembly file and delete the satellite assemblies? Here is my code from TFSBuild.proj file: (MY web project is in Release|.NET Config and all other projects within the solution are in Release|Any CPU)
I have a VS2010 Web Application that uses the AjaxControlToolkit. I am able to build the Debug configuration. When I build the release configuration I get the following error message: Error 89 Could not load file or assembly 'file:///S:My CodeLibrariesACTMay 2010AjaxControlToolkit.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515) S:My CodeEZFishingEZFishingEZFishingSGEN EZFishing
The location of the file is correct, and I just downloaded and unzipped there the Ajax CT. I have always built this app correctly before upgrading to VS2010 and ACT May 2010.
I just moved to a new PC and installed VS 2010. I copied all of my websites over from the old machine and now when I open the old websites on the new machine, they do not show up in my recent projects list on the start page. New websites that I make do show up there but the old ones do not. This is very inconvenient. Is there a way to make old projects that I open show up in the list?
This brings up another question. Is there a way to make a shortcut that will open VS2010 up with a website already loaded so that I don't have to go through the file open dialog every time?
I need to create a sample project (for educational purposes) and I'm faced with the choice between Web Site Projects or Web Application Projects. This feels similar to the choice between C# and VB. My question isn't about the differences between these 2 choices, but rather which is more popular (relevant, recognizable) to the general ASP.NET community.Has anyone seen any statistics in terms of adoption/usage of these 2 different project types? What project type should I use to reach the widest audience?Update: I created a poll on this subject - http://poll.fm/2e6cy
I have a web application solution with 14 projects which include web services, class libraries, sub-web applications.. can anyone provide a solution on how to get along with an example?
How do I compile an ASP.Net MVC project using MSBuild? We use a Continuous Integration server to compile and deploy our applications. To keep things simple I created an MVC 1.0 project in VS2008. I immediately created an MSBuild script file to compile it. I did not change any code in the project. The MSBuild script contained the following target.
The MVC project sln file is contained in the c:developmentmvc1 directory.I am running XP/Pro.I am receiving an error ASPCONFIG: it is an error to use a section registered as allowDefintion='MachineToApplication' beyond application level.
I removed the authenication mode, membership provider, etc. from the web config file until I finally saw a different error message.I am now receiving an error message saying that the file '/views/shared/site.master' does not exist.
The Web project we are working on is built against .net 1.1 framework.We would like to automate the build process for this project by using msbuild.However MSBuild only targets 2.0 framework. So how can this be done if we like to use MSBuild or MSBEE(this asks us to convert the web project to new version by opening up in Visual studio IDE)?We cannot convert the project to suit to 2.0 framework
I am building an asp.net shell on top of CCNet 1.5, where I send commands like force build to CCNet through the api. The ThoughtWorks.CruiseControl.Remote namespace has methods to get information from CCNet on the build, like status, elapsed time, etc.I would like to programmatically get the MSBuild task output from the CCNet api, but I haven't seen any methods for this. Is it at all possible? Or do I need to scan output files on disk or something?
I have a misunderstanding with MSBuild. I want to build a web application (with a traditional .csproj project file) and get the "entire output" of the build in a new, clean output folder - including all the website files that are included in the project with <Content Include="....
The AspNetCompiler utility makes this easy for "web site" style projects - you specify the input folder and the output folder, and they can be entirely different.
So far I've only had success specifying the OutoutPath folder, i.e. moving the bin folder - but this only gives me the binaries and ignores aspx, image files, etc.
Asp.net web application (source stored in svn) sqlserver database. (Database schema (tables/sprocs) stored in svn) db version is synced with web application assembly version. (stored in table 'CurrentVersion')CI hudson server that checks out web app from repo and runs custom msbuild file to publish/package app.
My msbuild script updates the assembly version of the web app (Major.Minor.Revision.Build) on each build. The 'Revision' is set to the currently checked out svn revision and the 'Build' to the hudson build number (incremented on each automated build).
This way i can match the app to a specific trunk revision also get other build stats from the hudson build number.
I'd like to automate the collecting of migration scripts (updated sprocs etc) to add to the zip package. I guess by comparing the svn revision of the db that has yet to be deployed to, to the revision being deployed, i can find what db files have changed in the trunk since the last deployment to that database/environment.
This could easily be achieved by manually calling the svn diff -r REVNO:REVNO command to list changed .sql files. These files could then manually have to be added to the package. It would be great if this could be automated.
Firstly i'd imagine I'll have to write a custom task to check the version of the db that has yet to be deployed to. After that I'm quite unsure. how this would be achieved through an msbuild task either existing or custom?
Finally I'll have to autogen a script to add to the package that updates the database version table so as to be in sync with the application.
I have a question regarding a situation that occurs with GridView, ObjectDataSource in ASP .NET application. The GridView is linked to the ObjectDataSource and both are included within an UpdatePanel letting the GridView to fill in an asynchronous way from a form in the same page so it gets more rows as the user enters the data:
I start the project with Visual Studio 2008, fill the form and it works correctly. Then I stop the execution: rerun again and the data I entered in the previous run is in the GridView. Is like some sort of cache saved the data from the session before. I checked that EnableCaching property is set to false for the ObjectDataSource. If I Rebuild Web Site in Visual Studio (not just Build) then it works corretly leaving the GridView empty. Is this caused just becuase of Visual Studio? Can it be turned off? And will it happen in the final IIS it will run on?
I want to build a survey system where you can build a form with questions and some answers to these questions and then members who will log in will be able to take the test.
Then i want to present the different results from the test in some diagram or something like that.
I need to set up a developement environment using msbuild and continuious integration, NUnit etc. I am quite new to this kind of thing as it is normally already set up in most environments ive worked in. I am quite short of time as well and dont have have the time to read huge volumes in order to get an understanding (developement starts Monday next week) so need to get this up and running asap in the shortest possible time. Does anyone have a working sample I can utilise or a short tutorial that breaks this process down?