Visual Studio - Why Does Website Reference Assembly From GAC, When Adding Local Reference
Jan 7, 2010
When you use ASP.NET web site (instead of web application model) and add reference to an assembly from local folder, Visual Studio, it seems, understands that this local assembly is also in GAC and so does NOT copy this assembly to bin folder (as it does with non-GAC assemblies), but simply adds new record in web.config file.
Why such a behaviour? Is it possible to force copy to bin folder (I need this since .dll is not on target environment)? I can add assembly to bin folder as file and it will work, but in this case bin folder contents will be in source control, which is not good.
I'm aware of the following two different types of web projects in Visual Studio 2008:Website projectWeb application projectA web application project can reference a signed assembly as long as the web application's assembly is also signed with the same key. However, this doesn't work with the website project because there is no place to sign an assembly. I think this is because the assembly is compiled dynamically on the server?
Anyway, is it possible to get the website project working with this signed assembly? Or will I have to convert this website project into a web application project?Edit:The following situation has required me to ask for clarification in this matter:I have a class library that is being referenced by several other projects in my solution in Visual Studio. One of the projects is a windows application that will be deployed to specific external users. In order to make sure that the application is using the correct assembly and to also prevent others from using the assembly (I am aware of the limitations with respect to its effectiveness), all assemblies have been signed and all the classes in the library are declared as Friend (internal).
The website project doesn't seem to have a way for me to sign its assembly and I get the following message when attempting to use anything from the library: "CLASS is not assessable in this context because it is 'Friend'", which is to be expected.The following attributes are inside the AssemblyInfo.vb file in my class library project:
My Conclusion:Looks like the cleanest way to do this would be to convert the website into a web application but this would require a bit of time to do since our site is pretty fleshed out already and as pointed out in other discussions, can be quite a pain to do. Going forward, I think creating a web application in the first place may have been a better idea and much more flexible for future development.
1. Is there a reason why someone would want to add a reference to an assembly (e.g. System.Drawing) but not add the Using statement? Seems that if you add a reference, you should add the Using statement automatically, but maybe not always?
2. Correct me if I'm wrong, the only benefit of adding a "Using" statement at the top of your file, is to bring into scope an assembly and not have to fully type the class name? So if I have a Using System.Drawing, I can type in string = Color.Tomato.ToString(); instead of string = System.Drawing.Color.Tomato.ToString();
Before using any class in your website project/page we have to add it's assembly reference to our project. Right?
Now, when I am using SmtpClient class from System.Net assembly after adding the System.Net.Mail namespace in namespace node of application's web.config file but without adding assembly reference to the project, it still accepting and running the code. Why?
I enquired the machine's web.config file located at C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIG but didnt find assembly reference for System.Net there also.
So bit confused how it is working and where the assembly reference has been added and how?
I have an asp.net website with a reference to a class library. I can reference the class library in the aspx pages but how do I configure my site so that I can also reference the class library from a .cs file in app code?
I have an assembly and i have registered that in GAC. Now i want to reference some methods of this assembly in my some other project or i want to reference this assembly. How can i do that?
How to display an assembly in the "Add Reference" dialog box?
Before using any class in your website project/page we have to add it's assembly reference to our project. Right?
Now, when I am using SmtpClient class from System.Net assembly after adding the System.Net.Mail namespace in namespace node of application's web.config file but without adding assembly reference to the project it still accepting and running the code. Why?
I enquired the machine's web.config file located at C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIG but didnt find any assembly reference for System.Net.
how it is working and where the assembly reference has been added and how?
Just to test, I created a blank website and a blank web site project.
When I added a referece to web site by doing right click and add reference it added the dll inside a BIN folder but on ther other hand when I did the same for a web site project it created a reference folder for me and then added the dll under the reference folder.
We have a web site that sits on a DotNetNuke platform and all of our coded modules are written in VB.Net for consistency. However, we have been sent a web page that works as a link and it is written in C# and references a cs file in its App_Code folder. If we try and load this into our website we get an error saying that it is not written in VB we then tried converting the homepage to VB but the reference folder is very complex and written in C#. Can we load the reference file even though it is C# and reference it using VB code. The current all is OurRemService RemService = New OurRemService(); where OurRemService is a file in the App_Code folder in the web page folder. The only other way around this is for us to set it up in IIS as a virtual directory and reference it directly but we would prefer to integrate it into our website.
Has anyone ever experience problems adding a reference to a DLL in Visual Studio? I have a website that I copied from our development server and placed it on a virutual pc on my local machine. I updated all the references to all the DLLs. However, when I open the property pages window, the only references I see are ones to the GAC. When I try to add a reference to a DLL it adds it to the bin directory, but it will not show in the properties pages and the reference is not resolved and I still get the error that the type is not defined. I've tried deleting the DLL and adding it again, but nothing seems to work.
I had a web reference set in my VS2008 ASP.NET project, but due to some source control weirdness it is no longer listed in the project. I have the set of files in the Web References folder under my project. There's a .wsdl, .disco and several .datasource files. Is there any way to re-add this web reference through the existing files rather than using the "Add Web Reference" dialog?
I´m having a problem with Visual Studio 2010 pro. I can´t seem to reference webcontrols from code behinde and there for no intellisense. Intellisense works fine, just not for controls on the ASP page.
Ex.
<asp:TextBox Width="245px" ID="txtName" runat="server"></asp:TextBox> VB file: txtName.text = "Some text" txtName dosent show up by intellisense.
Environment : Vista,VS-2005I have converted my user controls into DLL.(This is ajax enabled Website).[URL]In another project i have added this reference , register the dll and use the Usercontrol.It is working fine.Question1 : How to add this dll into toolBox?....Question2 : How to Rename this dll?....(This is ajax enabled Website-I have added webusercontrol in this site-After publish th site i got this dll.)
Eg: user Conrol : Textbox My Dll Name =App_Web_textbox.ascx.cdcab7d2.dll; .aspx page (DLL Registration ) <%@ Register TagPrefix="WebControl" Namespace="ASP" Assembly="App_Web_pwtextbox.ascx.cdcab7d2" %>; <PhaerosWebControl:pwtextbox_ascx runat="Server" ID="pwTestDLL" />
This Code Workingfine.But i do no how to add this into ToolBox?......
i am working in the web services aspects on sharepoint. However, the vs 2008 (3.0i am working in the web services aspects on sharepoint. However, the vs 2008 (3.0 or higher) does not seem to create a proxy class when i have used the add service reference and used the backward compatible version to use add web reference for 2.0. However, i dont seem to find the proxy class. does not seem to create a proxy class when i have used the add service reference and used the backward compatible version to use add web reference for 2.0. However, i dont seem to find the proxy class.
A while ago when i started using VS 2005, i found that some assembly entries were automatically added to from web.config
and i was getting annoying errors. later i found i have added unneccessary references in my application. And its a feature that assembly reference are automatically added to assembly tag in Web.config, So dev don't have to worry about it.
Recently i used Interop.OWC11.dll in my application. And ^&*# got the annoying
"CS0234: The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)"
error again.. Assembly entry was not added automatically. I checked same for existing references in my application, for them to automatic entries is not happening.... ? :(
I have to write is down in Web.config manually... I don't understand why?....
I am facing a problem reated to web services. A customer is running his website on an old server running .Net Framework version 1.1. We would like from this site to call a Web Service, how can I do that. I have Visual Studio 2010 intalled on my machine and when I use the option "Add Web Reference" the generated files/folders seem to not be compatible.
I am using VS2010. When I am building a release for a WinForms Applicaiton, I can see some .xml files relevant to project in the bin elease folder. The .dll (third party component) has been referenced in the References folder of the project for eg. Rebex.Net.Ftp and in the properties window the Source Path is
C:Program FilesRebexFile Transfer Pack for .NET 4.0FTP SSL for .NET 4.0inRebex.Net.Ftp.dll In the above mentioned source path directory there is an Rebex.Net.Ftp.xml which gets pulled across to the release folder as well. I couldn't really get my head around where this can be referenced so that it puts this .xml file in the release folder of the project when I do a build?
My main problem is, when I created a setup project for this application, I can't get this file included in the installation pack (after installing the .msi file). I get the Rebex.Net.Ftp.dll but not Rebex.Net.Ftp.xml file. I tried all the options in the Project Output except including the "Source files" which I dont want to. how to include the .xml files in the setup installation pack, ie., if there are properties I am forgetting to set or something like that?
These examples both generate an error that the server tag is not well formed. I'm fairly new to this, so I think my error will be obvious to someone...
What would be the correct way to reference the color value in this case?
I am using Visual studio 2012, I want to install Ajax Toolkit in my Project. From where to get Ajax Toolkit for VS2012? And what are the steps to add refrence (ajax .dll) into the project. Also I want to know that what things need to take care when using Ajax Toolkit in Project, both at client and server side.
I am trying to compile a website in Visual Studio 2008 on a 64-bit platform. The website needs to run as a native 64-bit application, and also references an x64 assembly. Whenever I try to build the website in visual studio, I get a bad image format exception referring to the x64 assembly.As per my understanding, visual studio compilation is running as a 32 bit process causing this problem. Also, for websites the only build platform available for selection in visual studio is '.Net'. So I cannot select that the website should be built for x64 execution.
"The type or namespace name 'updatepanel' does not exist in the namespace 'System.Web.UI.WebControls.WebParts' (are you missing an assembly reference?)"
The actual namespace should be System.Web.UI.UpdatePanel. When I go directly into the designer.cs file and change it, it works. However, every time I go back into editing control.ascx and save, Visual Studio always changes it back to system.Web.UI.WebControls.Webparts.updatepanel. I'm not sure what is causing this. Is it how I should be referencing namespaces and classes in my project? I'm using .NET 3.5.