Blend templates for Visual Studio 2010? - visual-studio

I had thought that Blend 4 was supposed to have included VS 2010 templates (for custom behaviors, etc). I have both tools installed, but I do not see the templates in Visual Studio. Is there something I need to do to install them?

The templates for that are included as part of the Blend SDK. The code for Behaviors, Triggers, etc. is also part of the SDK so you'll definitely need to install it if you want to use those classes. I did some poking around and it looks like those Templates are only available from Blend, not Visual Studio (weird).

Blend is a Silverlight / WPF designer. The aim is to separate the design concerns from the development concerns. If you type File->New Project you should see projecct templates for Silverlight and WPF data bound and non-data bound projects.

Related

Do I need Blend For Visual Studio If I have newest Visual studio?

I don't know the details, but when I tried Blend For Visual Studio it was such impression as Blend is just Visual Studio only with UWP support. If it so, the Blend should not be in my PC. It is really useless?
I also don't see Blend For Visual Studio among installed files. It was installed automatically with Visual Studio...
The idea is that a company has different developers for frontend and backend. While the backend developer implements some client server communication in Visual Studio, the frontend developer creates custom controls and animations in Blend. Both work in parallel. Some of the functionality of blend has been ported to the visual studio designer, however you can do a lot of additional UI related work in blend. It is therefore only useless if the company you are working for is developing the UI and the code that powers the UI sequentially.

Developing Visual Studio addins for multiple versions of Visual Studio

I've been given the task of developing some extensions for Visual Studio for our internal use. These will have to support a couple of different versions of Visual Studio (VS2008, 2010 and 2012 - VS2005 would be a nice to have but not essential). I'd like to develop these in as consistent a way as possible, reusing as much of the code as possible, while fitting it into the existing project structure for these kinds of tools, which is a Visual Studio 2012 .sln.
What's the best / easiest way of developing this kind of extension? A VSPackage project? Can I make a 2008-compatible VSPackage which is developed in VS2012?
The features I will need for the extensions I'm writing at the moment are pretty basic - I need to create Tools menu commands, possibly a custom toolwindow. My requirements might change later on but I don't need editor adornments or anything like that at the moment.
I saw this question which might seem to be a duplicate, but the answer which was accepted doesn't answer the question, so...
It really depends on what is your extension going to do.
VS2008 does not support extensions (.vsix) and you will need to write VSPackage deployed as msi for it. You also won't have access to many new features introduced in VS2010 (easier editor integration and access to vs services via MEF), but basic stuff such as manipulating solution/project/files should be fine and work on all versions (e.g. using DTE should be ok).
As far as I remember for VS2008 you will also need to obtain a PLK, which is no longer required for 2010 and 2012.
I haven't tried developing 2008 package in VS2012, but you definitely can develop 2010 extension in 2012.
Also remember that VS2008 is .Net 3.5, so your code should use .net 3.5 and version of c# which it supports to be portable.

Does anyone use Expression Web and Visual Studio together?

I'm curious what aspects you use the Expression Web for and what you prefer to do in Visual Studio.
I understand Expression Blend is for making GUI elements of WPF applications, with the programming done in Visual Studio, but how do Expression Web and Visual Studio fit together?
Expression Web is used for the UI design.
Visual Studio is used for programming the underlying model and hooking up to the UI.
They both understand XAML and can share the project/solution structure.
In fact, the were designed to inter-operate in this manner.
I prefers to use Visual Studio for most of my development needs. I briefly used Expression Web but I don't use visual design aids that much so I go back to Visual Studio & Firebug for pretty much all my web developments.
Expression Blend, on the other hand, is the go to tool if you want to do WPF & Silverlight frontend. It speeds up the UI designing process a lot.
Visual Studio is for coding!
Expression is for design!
You can easily use them together.
If you do a change in one of the the other will prompt you
for this change.
If not just refresh.
If you need to open a page through visual studio right click this page.aspx and 'open with' and find and chose expression blend.
When I've started learning Blend with VS 2010, I've used Expression Blend to make the GUI and and VS for coding. After a time I was only using Visual Studio 2010 for everything. My advice to you is to only use Visual Studio 2010 for complete development of your applications.

Difference between Addin and VSPackage in Visual Studio extensibility?

What's diff in term of functionality are there between addins and Visual Studio Packages ?
This article is a good place to start: http://msdn.microsoft.com/en-us/library/bb330853.aspx
VSPackages are the 'first class citizens' in the IDE. Much of the core IDE functionality is actually supplied via packages. This is how Microsoft itself adds functionality to Visual Studio (i.e. new tools, languages, etc...).
Addins are limited in what they can do. Generally, they are restricted to using only the DTE automation object model to accomplish their tasks. The advantage is that it's usually simpler to do what you need this way, and the templates are included "in the box".
In general, we recommend that folks extend the IDE via VSPackages for new projects. You'll need to download the Visual Studio SDK to get started.

Why do Visual Studio solutions need to be upgraded with every release of Visual Studio?

This is easily one of the most annoying "features" of Visual Studio in its history and I don't understand why it exists -- ever.
Why would a CodePlex project need to care what version of Visual Studio I am using?
Off the top of my head, the only thing I can think of is that some versions of Visual Studio might introspect assemblies searching for attributes to determine what to display in "Visual Designers" and "Property Editors". But why would that cause Visual Studio to not be able to open the project and allow me to browse its contents and compile?
It seems to me like Open Source in .NET is somewhat limited by the stupid dependency management exhibited by Visual Studio. In other words, if I am using Visual Studio 2008 and you are using Visual Studio 2010, then we have different solution files.
http://blogs.msdn.com/b/visualstudio/archive/2010/03/15/why-does-visual-studio-2010-convert-my-projects.aspx
Here's an example from the site as to why Visual Studio converts your projects to 2010 format.
For instance, Visual Studio runs
custom tools such as single file
generators for designers in order to
output code representing the changes
made to the designer. Many of these
custom tools are upgraded or
completely replaced in the newer IDE.
During conversion, the IDE knows which
custom tools to replace or upgrade. In
order to make round-tripping work, VS
would need old and new custom tools to
understand each other so as to ensure
that old and new designers can work
side by side. Other than designers,
the following files would also be
affected: resource editors, wizards,
code snippets, item and project
templates, diagramming and modeling
tools, and many more.tools, and many more.
Since 2010 knows about what tools 2008 has, it can convert forward to be compatible with the custom tools 2010 uses. 2008 has no idea about what 2010 is using, how could it? Therefore, it is impossible to convert backwards since it doesn't know what it needs to convert, nor how to.
I believe the purpose of this touches on what you stated in your comments. If you are using 2008 and I 2010 and I compile it, how could you possibly run it again? 2010 is backwards compatible but 2008 has no way to make itself forward compatible.
Thus, by recompiling the project in 2010 I ensure that no 2008 user may mistakenly think they can compile it.

Resources