we have an asp.net web site (web application project of vs 2005) where we have a main project and same secondary projects which contain same apsx/ascx used by the main project.
for example in an aspx page of the main site we will use same ascx defined in another project)
at least with vs 2005 we must do a lot of hack to make it works becouse it's not possible to directly reference another web application to use aspx/ascx defined there.
i want know if upgrading to vs 2010 and mvc can help us to a better organization of this type of architecture (the best things will be if i can add a view as embedded resource of a project and i can use it by another project, as the server control of asp.net form)
I'm building a CMS type of application in MVC. I want to reuse my views and controllers for adding/managing content in at least two other MVC sites. Obviously I dont want more than one code base for the CMS stuff. I figured out a way to do so:
Controllers:
Controllers are easy. Nothing more than creating a new Class Library Project and adding your controllers. Be sure to reference System.Web.MVC. In your MVC project just reference your controller assembly.
Views:
Views are a bit trickier. My solution was to add the folder structure to my assembly
CMSViews CMSViewsWhatever
Then start adding my view pages. For each page, you have to set the 'Copy to Output Directory' to 'Copy Always' (right click -> properties)
Then I created a new class which inherits from 'WebFormViewEngine'. In the constructor I call the base() and then I add paths to the base.MasterLocationFormats and base.ViewLocationFormats to specify the new locations to look for views.
[Code]....
Setup in MVC project:
To get the controllers and views to work from the assemblies, you have to add two lines of code in the global.asax. Under the RegisterRoutes() method, add
ControllerBuilder.Current.DefaultNamespaces.Add("YourAssemblyNamespace.Controllers"); then under the Application_Start() method add: ViewEngines.Engines.Add(new YourAssemblyNamespace.MyViewEngine());
What I dont like is that the Views get put into the Bin directory when published and you have to make sure to set the Ouput to Copy Always which is going to be a PITA for larger projects with lots of views.
I'm looking at an asp.net application, i notice that there are assemblies defined into two places. In web.config there is configuration/system.web/compilation/assemblies/add elements. In the project file there are references setup under the Project/ItemGroup/Reference elements.
I was wondering, what is the difference between assemblies/references added in either location?
If I have a reference in my project to System.Data.Linq in an MVC application compiled against 3.5 I can use Linq to SQL generated entity objects in my views and access the foreign key entity sets. If I try and do the same thing in 4.0 I get the error messageCompiler Error Message: CS0012: The type 'System.Data.Linq.EntitySet`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
I am learning MultiView control.Here are question:I added 5 views in the MultiView but all views are tight together. I can not drag and drop another control such as text boxes or labels into view area.
I have an MVC view that contains a number of partial views. These partial views are populated using partial requests so the controller for the view itself doesn't pass any data to them. Is it possible to reload the data in one of those partial views if an action was triggered in another? For example, one partial view has a jqGrid and I want to refresh the data in another partial view when a user selects a new row in this grid. Is there a code example for this scenario (in C#) that I can look at to see what am I doing wrong? I am using ajax calls to trigger a new request but non of the partial views are refreshed so I am not sure if the issue is with the routing, the controller,
I just need to ask something about .net assemblies. I'm sorry if this question may not be appropriate for this forum but it is very urgent and very important for me to answer so if any kind person can answer in simple and in detail about 'What are assemblies?' I googled about this but I got only one line definition for assemblies rest is only about private ,shared, manifest etc. etc. but I need to know what are assemblies.
I have an ASP.NET MVC 2 app targeting .NET 4 that needs to be able to resize images on the fly and write them to the response.I have code that does this and it works. I am using System.Drawing.dll.However, I want to enhance my code so that not only am I resizing the image, but I am dropping it from 24bpp down to 4bit grayscale. I could not, for the life of me, find code on how to do this with System.Drawing.dll.But I did find a bunch of WPF stuff. This is my working/sample code (runs in LinqPad).
// Load the original 24 bit image var bitmapImage = new BitmapImage(); bitmapImage.BeginInit();
I get that assemblies store data about an application, and its components. I am still clouded about several vital functions of this very basic concept and cannot for the life of me find a complete all inclusive reference or explanation of this topic. Exactly how far reaching is this within c#.net development? Where is it stored? How is it stored? Exactly what, in it's entirety is in it and how is it used and when? Please, please do me a huge favor. Do not send me on a wild goose chase to some self serving, obscure site with partial explanations that wastes my time. By the time I'm done studying the information within your referenced site or response, I want all of my questions answered.
I need to look for specific types in all assemblies in a web site or windows app, is there an easy way to do this? Like how the controller factory for ASP.NET MVC looks across all assemblies for controllers.
What are the libraries, beside System.Web.Mvc, I need to run a MVC 3 RC2 application having the libraries in Bin Folder and not installing MVC 3 RC2?I am using JQuery and not Microsoft Ajax.
I'm trying to write some code to use reflection to load new assemblies. I observed the file system with FileSystemWatcher, so that if anything in the folder changed, I can get notified and then reload them.
Firstly I have an assembly filters.dll loaded. Let's say its version is 1.0.0. Then when I have a new one v1.0.1, I paste it into the folder and replace the older one. Of course this fires "Change" event of FileSystemWatcher, and finally lead to assembly reloading.
Everything works fine, but I just want to know, what would happen to the firstly loaded assembly? Get replaced by the newer one? Or still somewhere in the memory?
Now in the same project for another requirement I have to introduce Antlr3.StringTemplate.dll. Which has a dependency on another version of the above assembly.
If I use the version of Antlr3.Runtime.dll which satisfies NHibernate , Antlr3.StringTemplate starts complaining and vice-versa.
I have a collection of assemblies using reflection. I want to loop through them, but I would like to ignore the .NET framework or ASP.NET framework DLL's. Is there an attribute on the assembly that marks that its from the .NET framework? Or any other designation?
I was looking at the name, and if the name of the assembly starts with System, Microsoft, or mscorlib, I am ignoring it. But I was wondering if there is a flag I can use to make this even easier?
When looking at ASP.NET MVC 3 and WebPages (the 'simple' web application framework used by WebMatrix) I noticed that these frameworks take a dependency on assemblies and/or namespaces that do not fit the familiar naming style for ASP.NET:
Most if not all assemblies/namespaces up until and including ASP.NET 4 and ASP.NET MVC 2 are called *System.Web.** Why did they do it? Is this 'a trap' or is that too cynical? Some context (from the [Mono 2.10 Release Notes][1]):
> Although ASP.NET MVC3 is open source > and licensed under the terms of the > MS-PL license, it takes a few > dependencies on new libraries that are > not open source nor are they part of > the Microsoft.NET Framework. > > At this point we do not have open > source implementations of those > libraries, so we can not ship the full > ASP.NET MVC3 stack with Mono.
I am processing some CSV file which i have copied in Bin folder of My ASP.NET Website.
When i execute
using (IDataReader csv = new CsvReader (new StreamReader("sample.txt"), true, '|')) { ..... }
it complains me that "sample.txt" not found in "c:Program Files....."Won't the runtime automatically look into the bin folder?what modification do i need to do?
I'm trying to understand the relationship between assemblies, namespaces and classes. Can anyone help explain or point me to a usefule link?
1. I understand that an assembly is typicall a dll or an exe (perhaps other files also). Does each project compilation produce only 1 dll? Or is the number of DLL dictated by something completely different?
2. I read each assembly can contain multiple classes. Asingle assembly can contain classes for multiple namespaces, and asingle namespace can span multiple assemblies.
I'm currently implementing some DataProviders according to the ASP.NET Provider Model. Everything works fine, though the application directory is a mess due to all the assemblies containing the data providers and their dependencies.
Is it possible to put the assemblies containing the DataProviders in a subfolder? If yes, what do I have to change (in the app.config?) so that the assemblies will be found by the application?
In context of an ASP.NET Website project, is it possible to create a second location where DLLs will be picked up from, in addition to the regular bin/ location and apart from the GAC? I expect such a feature would be made possible by the configuration.