extensibility

Best way to implement customization hooks in my design

Hey SO, I am wondering what's the best way to insert customization hooks into my application. Basically, my application is split into two assemblies: A Core assembly containing all the business logic and a UserInterface assembly containing the GUI, controller classes (I am using a deviant MVC pattern callse "Passive View") and some help...

Populating a Visual DSL with database information.

Hello Guys, I have the following problem to solve: Currently we have a metadata tree of the databse schema that has a in-memory representation and a proprietary schema XML serialization as well (that is we can read/write all the in-memory data to an xml file). Currently I am developing a Visual DSL solution (diagram-like), to allow ...

visual studio extensibility - how to add folder to database project?

I'm trying to add a folder to a database project in visual studio 2008. I've found out that database projects don't implement the full EnvDTE.Project interface. Specifically the ProjectItems property is not implemented so I can't do this: dbProj.ProjectItems.AddFolder("test") Does anyone know of a workaround? Is there another API avai...

Does an API based on inheritance violate OCP? Can this be solved with a provider model/dependency injection?

I'm designing an API for the first time, and trying to follow SOLID guidelines. One of the things I find myself struggling with is balancing OCP and testability with simplicity and ease of extensibility. This open-source API is geared toward scientific modeling and computation. The aim is that various groups will be able to easily impor...

Powershell inside Visual Studio

Does anyone know of a way I can run a powershell within Visual Studio. By that I mean, have an interactive powershell prompt in a tool window? Kindness, Dan ...

Extending ASP.NET WebControls: How to effectively hide public properties

I am extending TextBox WebControl to work as a sort of "DateTextBox" which exposes it's value as a property (DateValue) in the code-behind: public sealed class DateTextBox : TextBox { public DateTime ?DateValue { /* ToDateFromUserInterface() and ToUserInterfaceString() are both extension methods */ ge...

What are the graphics editors that can be built upon?

I want to start off with a capable vector graphics drawing/editing program and extend it to create a visual designer for a project I'm working on. Do you know of a graphics editor that can be built upon? Maybe open source? Users should already be able to freely draw and color graphics, and any form of grouping / arranging elements is a...

Extensibility via Mono.Addins or MEF

I have some experience with Mono.Addins, the extensibility framework heavily used in the Mono project. I am aware that Microsoft has recently developed their own extensibility framework by the name of MEF, as well as released it as open source. I am wondering if it is worthwhile to use this extensibility framework. If someone familiar wi...

A guide to Boo's metaprogramming and extensibility features?

I'm interested in learning about Boo's more powerful features such as syntactic macros, parser support (Ometa?), compiler pipeline, etc. My impression is that these areas have been in flux and somewhat under-documented. Are there any good resources for learning about these things other than studying the source code? ...

When is MEF shipping?

I'm building a product that will ship after .Net 4.0 is released. Is MEF an integral part of .Net 4.0, so I can count on them being released together, or is it some external component that might be released separately and thus it is dangerous to use? ...

VSX: Custom Package's Project Type to mimik "Debug >> Start Action >> Start External Program"

I have a custom project type based on the C# Class Library project type in a VSX Package (2008+). For this project type, even though the output is a class library, I want to be able to debug this app just by pressing F5 (etc). I have a prebuilt executable that takes an assembly path as a command-line argument and loads it for workbench...

Editable FullPath property of a file in the Properties grid - Visual Studio 2008

I have a project in my VS 2008 solution containing file items. Each item have a standard read only property called "FullPath" in the Properties Grid. What is the easiest way to make the FullPath property of the Properties Grid editable? ...

Basic MEF workflow/usage

I'm looking to a framework which will allow me to have a simple plugin system in my .NET application. It seems MEF is the framework which Microsoft is endorsing, and will become part of .NET 4 (it also seems to work with older .NET versions as a separate library, as well as Mono). I'm previously used Mono.Addins as for a plugin system f...

Is it possible to programatically access the call heirarchy in VS2010

Visual studio 2010 has added a call heirarchy function. Does anyone know if it is possible to access this from within a plugin? ...

Resources for programming a system that supports plugins

I need resources -preferably a text- about programming systems that supports plugins or extensibility and other related detailed stuff, like handling permissions and resources for those plugins ...

Architecture for extension/plugin communication

Once the problem of loading plugins is solved (in .NET through MEF in out case), the next step to solve is the communication with them. The simple way is to implement an interface and use the plugin implementation, but sometimes the plugin just needs to extend the way the application works and there may be a lot of extension points. My ...

C# Plugin model with user supplied RegEx

Hi I have a program in C# WPF which analyzes certain log files. Each log contains lines of data in a format which contains an address and a data offset. For eg some log file can have the format, mmio address : data or some can have the format write address : data There can be many such formats, but rest assured that each line whe...

How can I provide an API stub for an MEF component?

The Visual Studio 2010 SDK ships with many assemblies like Microsoft.VisualStudio.Text.Data and Microsoft.VisualStudio.Text.UI that are just stubs. To write an extension for Visual Studio, you reference these assemblies, but set "Copy Local" and "Exact Version" properties of the references to false. When your extension is loaded in Visua...

WPF form in Visual Studio Add-in Project

Hi All, I am building a visual Studio 2008 add-in. That Add-in needs a UI for user inputs. I was planning to use WPF for that UI. But i am not able to find a way to make that working. Is there any way to have a WPF form in Visual-studio add-in project? regards, Pavan ...

MVC - Creating new Views without adding Actions to Controller

I'm working on a mini CMS-like application using asp.net MVC 1.0 (I will upgrade it once 2.0 is released). Once feature I want, that is pretty vital to a CMS, is the ability for an admin to add pages to their site. Essentially, if the admin wants to add a page called "Links", I want them to be able to do so without having to go through...