473,659 Members | 2,671 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Visual Studio locks assemblies for ASP.NET project.

I am working in an environment with 4 developers. 2 groups of 2 people
working on the same server on the same web project with no version control
management on the web server.

Programmers A & B servername/project1
Programmers C & D servername/project2

All programmers have solutions that have their respective web projects,
accessed over file share. Programmers A & B so far are fine. Programmers C &
D have a problem.

We have about a half dozen Component Libraries developed for use with the 2
web projects, but NOT stored in the GAC. Each reference to these component
libraries in the project is set to Copy Local = True.

When Programmer C opens his solution, it seems Visual Studio pushes the
local copies of the assemblies out to the webserver via the file share, but
keeps 2 or 3 of them opened and locked on the webserver.

When Programmer D opens her solution, while Programmer C still has his
instance of Visual Studio open, Visual Studio tries to do the same thing,
only since they are locked by programmer C they fail to be overwritten. And
the following error is produced.

Cannot copy assembly 'AssemblyName' to file
'\\servername\w wwroot$\Project 2\bin\AssemblyN ame'. The process cannot
access the file because it is being used by another process.

As a result Programmer D's instance of Visual Studio does not load the
assemblies into IntelliSense. Her visual studio doesn't recognize any of the
same references that Programmer C's does. It prevents her from compiling and
various other things.
I have tried resetting IIS, removing Indexing from the Temporary ASP.NET
Files folders on both Programmer C & D's machines as well as the webserver,
using TaskManager to kill the aspnet_wp.exe process on all three machines,
deleting the VSWebCache for both programmers' machines. I have tried running
aspnet_regiis -i. I have tried recalculating the web.

The only workarounds I've figured out are to either have Programmer C close
Visual Studio, which releases the locks, then have Programmer D try to
Build, which then HER VS locks the assemblies and now Programmer C can't
build,

or

Whoever can't build because the other one has the locks, change the Copy
Local property of that reference to False for every reference to an assembly
that is locked just prior to Building, then change them back to True after
building, in which case IntelliSense still fails to load because when
setting them to True, it tries to push the assemblies back out to the
webserver and fails, thus repeating the cycle of hatred.

Either is unacceptable.

I recall reading from Microsoft that assemblies of 64K with Copy Local set
to False have this happen. Only one of the 6 assemblies is over 64K and all
are set to True. I also recall the virtual directories that have a trailing
backslash (\), or having another web project configured beneath a virtual
directory have this happen. Negative on both counts. I read that Visual
Studio might still keep something open because the assembly didn't close a
stream or a file, or visual studio needs to keep some piece of that assembly
in memory. I went through my code. 2 of the assemblies did any kind of I/O,
but not file I/O. These 2 are ones that lock. They read
ManifestResourc eStreams from their own assemblies. I made sure that they
closed their streams, but I cant imagine that Visual Studio keeps them open
because only 1 of the 2 reads the ManifestResourc eStream at design time. The
locks are instant, as soon as Programmer C opens the project, before any of
these calls are even made. I have also read that it is IntelliSense that is
locking these files, but when I heard that, it was only for the ones over
64K, which is only one of them.


Can ANYBODY tell me how to stop this madness?

Any and all help is greatly appreciated,
Nov 18 '05 #1
3 2291
I know this will not help mutch but I believe that the best aproach on
webdevelopment is by far have the projects locally on a local IIS.

I know that this is not what what you are looking for, but since you dont even
have a source control system.... all developpers in one server will bring you
problems other than the ones you currently have.

In my opinion this is what you should do:

1 - The common libraries should be managed only by one developper (the person
responsible for buiding it) and distributed to the workstations for use by
others.

2 - Each developper installs IIS locally and works on the project locally.

3 - When a developper finishes development and testing the module he/she has
been working on then copies the file to the common folder on the server.

4 - When a developer needs to have the latest source code, its as simple as
copying the public folder with all file to the local project

3 and 4 can be replaced by using Visual Source Safe, but the first 2 remains the
same.

Hope this helps.

Regards

Joao Cardoso (MVP dotNET)
=============== =============== =============== ==========
[LusoCoders]- http://groups.yahoo.com/group/lusocoders/
[PontoNetPT]- http://www.programando.net/regras.aspx
jj***@acinet.pt.n.o-s.p-a.m - www.acinet.pt
=============== =============== =============== ==========
Nov 18 '05 #2
OK, so talk to me alittle about using SourceSafe with web projects. We DO
have SourceSafe6.0c managing checkin and checkout of our Component
Libraries, so when one of us makes a change, the others have to get the
latest copy from SS. We have been wary of using it to manage our web
projects because of how poorly source code control interation worked with
InterDev 6.

We have done a little superficial research and we see that there are
basically 3 models for working with SS on web projects with VS.NET;
Isolated, which is the way you suggested, Semi-Isolated, where developers
work on different web applications on the same server, and Non Isolated,
which is what we're current;y doing, only not with SourceSafe, hence death.

In the way you suggest, how does SS handle concurrency between pages.
Granted if I have one checked out, no one else can edit it, but what if I
need to compile and I'm calling a method on a page/class that someone else
is working on. How does it fare with making sure that what one developer
does doesn't adversely affect another.

If you have completed a portion of a page and you want to see the results,
where do you point IE; to your localhost or the webserver? When does it push
pages out to the server; at check-in?
"Joao S Cardoso [MVP]" <jj***@acinet.p t.n-o.s-p.a-m> wrote in message
news:0h******** *************** *********@4ax.c om...
I know this will not help mutch but I believe that the best aproach on
webdevelopment is by far have the projects locally on a local IIS.

I know that this is not what what you are looking for, but since you dont even have a source control system.... all developpers in one server will bring you problems other than the ones you currently have.

In my opinion this is what you should do:

1 - The common libraries should be managed only by one developper (the person responsible for buiding it) and distributed to the workstations for use by
others.

2 - Each developper installs IIS locally and works on the project locally.

3 - When a developper finishes development and testing the module he/she has been working on then copies the file to the common folder on the server.

4 - When a developer needs to have the latest source code, its as simple as copying the public folder with all file to the local project

3 and 4 can be replaced by using Visual Source Safe, but the first 2 remains the same.

Hope this helps.

Regards

Joao Cardoso (MVP dotNET)
=============== =============== =============== ==========
[LusoCoders]- http://groups.yahoo.com/group/lusocoders/
[PontoNetPT]- http://www.programando.net/regras.aspx
jj***@acinet.pt.n.o-s.p-a.m - www.acinet.pt
=============== =============== =============== ==========

Nov 18 '05 #3
Hi Rob...

I dont have a lot of experience from using VSS yet, but I'll try to help the
best I can. Perhaps others can complement my sugestions with more info.
OK, so talk to me alittle about using SourceSafe with web projects. We DO
have SourceSafe6.0c managing checkin and checkout of our Component
Libraries, so when one of us makes a change, the others have to get the
latest copy from SS. We have been wary of using it to manage our web
projects because of how poorly source code control interation worked with
InterDev 6.
I did had the a lot of problems with VSS first versions. It was quite buggy and
once I actually lost some code on the server and because of that I stopped using
it. Then version 6 came along and a lot has changed. Mutch more stable and more
reliable.

<snip>
In the way you suggest, how does SS handle concurrency between pages.
Granted if I have one checked out, no one else can edit it, but what if I
need to compile and I'm calling a method on a page/class that someone else
is working on. How does it fare with making sure that what one developer
does doesn't adversely affect another.


When you work on isolated mode you actually are running all of it locally.
Basically you make checkins and checkouts, quite simple. All files of the
project are copied to the local project folder. When you run ur project you will
be actually running it on the local IIS. For example http://localhost/myproject

This wil enable each user tho debug and test individually the projects on the
local machine and may also increase performance on VS.NET.Not completly sure
because I never compared it. But at least you will be sure that it will reduce a
lot of problems.

I read somehere on the patterns and pratices that you should avoid using
smi.shared and shared options.

Here is some reading that i would recomend.

http://msdn.microsoft.com/library/de...lStudioNET.asp

Hope this helps better than my limited experience with this :)

Regards

Joao Cardoso (MVP dotNET)
=============== =============== =============== ==========
[LusoCoders]- http://groups.yahoo.com/group/lusocoders/
[PontoNetPT]- http://www.programando.net/regras.aspx
jj***@acinet.pt.n.o-s.p-a.m - www.acinet.pt
=============== =============== =============== ==========
Nov 18 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

26
10849
by: Bruno Jouhier [MVP] | last post by:
I'm currently experiencing a strange phenomenon: At my Office, Visual Studio takes a very long time to compile our solution (more than 1 minute for the first project). At home, Visual Studio compiles the same solution much faster (about 10 seconds for the first project). My home computer is only marginally faster than the one I have at the office (P4 2.53 vs. P4 2.4, same amount of RAM). On the slow machine, the CPU usage is very low,...
15
2420
by: Ken Allen | last post by:
I have been developing a suite of assemblies over the past couple of weeks, and this afternoon somethign started misbehaving. If I do not run the IDE and compiler the code from the command line, the compilation seems to work properly almost all of the time. More on this later. If I launch one copy of the IDE, then I can usually compile the project at least once. At some point, the build fails reporting "Could not copy temporary files...
5
1612
by: Daniele | last post by:
Hi, how is it possible to create a project with a specific template, compile it and close it? All with a c# script. Thanks, Daniele
1
1333
by: Saber S | last post by:
When I try to begin an ASP.Net project in Visual Studio.Net I get an error message: "Visual Studio .NET has detected that the specified Web server is not running ASP.NET version 1.1. You will be unable to run ASP.NET Web applications or services." I tried a solution at Microsoft at http://support.microsoft.com/default.aspx?kbid=306005 but when I do it: "%windir%\Microsoft.NET\Framework\version\aspnet_regiis.exe" -i
54
6421
by: m.roello | last post by:
In the book: "Working with Microsoft Visual Studio 2005" Craig Skibo wrote: "The power of Visual Studio 2005 lies in its ability to empower users to build, test, and debug powerful applications quickly and easly." I don't agree on what concernes ASP .NET Web Sites in VS2005. All what involves Namespaces in Web sites has been disappeared. I know you can still MANUALLY manage them, but not QUICKLY and EASLY. In a
1
6821
by: Daniel Knöpfel | last post by:
Hello Im triying to create an installer using ClickOnce and visual studio 2005. This works fine on my computer, but as soon as i start the created installer on another pc I get the following message: "Unable to install or run the application. The application requires that assembly EnvDTE Version 7.0.330.0 be installed in the Global Assembly Cache (GAC) first." When I now reference the assembly Envdte (Version 7.0.330.0) and include...
10
8195
by: Steve | last post by:
I am trying to create a DLL in Visual Studio 2005-Visual Basic that contains custom functions. I believe I need to use COM interop to allow VBA code in Excel 2002 to access it. I've studied everything I can find on COM Interop and .NET. I've also tried many of the 'Walkthroughs' on the MSDN site relating to COM add-ins, .NET and Office XP but am unable to get even these working in Excel 2002 or Word 2002. I've installed the Office XP...
11
1738
by: brianlanning | last post by:
We have a web application in 2003. The solution contains the project for the web application and five other projects for shared assemblies. We have two issues. The first is that we want to place the entire solution in some other directory like c:\work rather than wwwroot. We can use vss to do a get latest version, but as soon as we open the solution from within visual studio, vs copies the main web application source files to a new...
4
3341
by: =?Utf-8?B?bXVzb3NkZXY=?= | last post by:
Hi Is there a way to easily tell the version pf .NET a project is compiled using in Visual Studio? I have a solution with a few projects, but I have a feeling some of the projects are compiling in .net 1.1, while some are compiling in 2.0 - can't find the info anywhere. Thanks,
0
8850
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8746
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8523
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8626
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
6178
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5649
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4334
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2749
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1975
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.