auto update asp.net website bin folder - asp.net

Is there any way to get VS2008 to automatically fill my website bin folder with all the necessary dependencies required for the website?
At the moment it just contains assemblies from the solution but not the third party assemblies I am also using.
Thanks,
AJ

You should set Copy Local to true in the reference properties.
http://msdn.microsoft.com/en-us/library/t1zz5y8c.aspx

You can use the post build events which you can configure in the properties page of a project.
As an example:
Post build and macros
Post build events

Related

Is it possible to configure ASP.NET project server properties per user?

Is it possible to setup configurations under ASP.NET project properties > Web > Servers for each user that downloads the source code?
Short answer: No.
Now the explanation:
These settings are stored in the project file.
Unless you exclude your project file (*.csproj for C# projects) from control versionning, these settings will be shared with all the team.
Before doing so, please note that this is not a solution, because a lot of information is stored in the project files, like files in the project for example.
The best option would be for other users to manually merge project files when there are modifications and commit/check-in the project file only when necessary.

Tracing where a dll in the bin folder comes from

I noticed today that whenever I build a word add in project of mine, Microsoft.Sharepoint.dll is being copied into the bin folder and is subsequently included when publishing.
Is there an easy way to see why this (annoyingly large) dll is being included when publishing?
It isn't referenced directly. There are 3 dependencies in the project page and I've checked all these projects and none of them reference it directly either. Do I need to continue following the dependencies of those projects too?
Is there not some kind of log file for a build that could give me a hint?
EDIT:
The problem was that my project referenced a project that referenced a project that had a reference to Microsoft.SharePoint.dll with copy local set to true. I had to delete the dlls from all projects and rebuild with copy local set to false. I didnt realise that the 3rd party dll would be copied into my project.
If this is being pulled in due to a dependency from another DLL, then try looking at all of your DLLs in Dependency Walker. It finds all of the dependecies that a dll has. This is usually only when they are actually being used/bound, but you can also use the Fusion Log Viewer to see where all DLL binds are being bound from.
You could have a a look at reflection mechanism of asp.net or if not you could run trace using firebug for cross reference on browser ,

Aptana 3 how to use a project in another project without copying files, in order to keep them in sync?

I have a javascript project that is still in development;
Then I have another rails project that will use the javascript project;
I would like to have in "my-rails-project/public/javascript/" the link to the other javascript project.
I would like to be able to make changes within the rails-project and affect the javascript-project.
Is this possible and how?
thanks (:
This is general Eclipse thing and not related to Aptana in particular.
Simply start creating a new Folder and on the wizard page click "Advanced>>>", then choose Linked Folder and Browse to location of your javascript project.
That's it.
Cheers,
Max

What is a dll.refresh file in ASP.Net?

In our ASP.Net web project we seem to have some .refresh files associated with some of the 3rd party Dlls we're using. Any idea what they are and how/when they are created?
These files give the path to the DLL in question to tell Visual Studio where to find it (you can check this if you open them in a text editor). They will be created each time you add a new reference to the project.
They normally appear when you are using a project type that does not create a standard Visual Studio project file, as normally paths to referenced DLLs would go in there.
From here:
In an ASP.NET project, adding a file-based reference will add a .refresh file in the Bin folder. When the project is under source control, this file is then added to source control. *.dll.refresh files that litter the bin directory. Every time you add an external reference, you'll find a dll.refresh file right next to it. These dll.refresh files are an exception to the rule, and they should go into source control. Its the only way your web project will know where its references live.
Some information about the refresh files after trial and error. These experiments were done with Visual Studio 2012. The references were added to a C# asp.net web project.
As was discussed, adding a reference to an assembly through browse adds a .refresh file. However, if there are additional dependent DLL's on the explicitly added DLL in the directory that you add from, the dependents are implicitly added as well, but without .refresh files! So for example, I add a reference to "MyAssembly.dll" I will get also "MyAssembly.dll.refresh". But if there is an assembly "MyDependentAssembly.dll" that "MyAssembly.dll" depends on I will not get a "MyDependentAssembly.dll.refresh". So what happens is that the one assembly is refreshed but not its dependents! You must add the DLLs one at a time in reverse order of dependency and then things will work better.
Some other things to be careful of.
Adding "MyAssembly.dll" will also add "MyAssembly.pdb" if it is present. Also "MyAssembly.xml" will be added to the references if it is present. Those two files will refresh too when "MyAssembly.dll.refresh" is present.
But, when does Visual Studio decide to look for refresh files? Now remember, in a web project, the project file does not keep track of referenced DLL's specifically. You will not find the DLL's listed in the project file only project dependencies. So when does the refresh happen?
The answer to when refresh happens is during a build when the referenced assembly has to be loaded. That means, though that building a prebuilt updateable website may not grab all of the DLLs. I kept having a DLL that would not refresh and then I realized it was being used only inside of a .ascx file. Unchecking the "Allow precompiled site to be updateable" checkbox in the MSBuild Options project page fixed that problem for me.
Still if you add referenced DLLs that are loaded through reflection in your code, they will not be updated through a reference. You will have to use build events to copy them into the bin directory.

Creating Directory on Server in ASP.NET programmatically

I want to programmatically create a directory on the server using ASP.NET.
I have done this using System.IO's Directory.CreateDirctory. however, the newly created folder is not accessible in the code.
after searching a bit, I came to know that the newly create folder is not included the project and hence not accessible.
OK...From your answer to my comment I think you can try this thing out:
images.ImageUrl = "~/Images-" + ObjectName + "/Slide1.png";
Hope this helps...!!
You mention that it is not included in the project. Are you referring to the project in Visual Studio? If so, it will not show up there as it is not a listing of file system directories. It is a listing of project files as build in the proj file. You will need to add it there.
If you are referring to the application then it should be available as soon as it is successfully created.
Please let us know where your issue is happening.
Be careful when modifying the content of the web site in IIS : it detects such modifications and restarts the application immediately.

Resources