Can't find System.ComponentModel.Composition with .NET Framework 4 installed - mvvm

i think this sounds like a stupid question. i am starting with caliburn micro: customizing the bootstraper. i have .NET Framework 4 installed, VS2010. but when i try to add a using, there is intellisense that tells me i have System.ComponentModel.Design but no Composition or any of
using System.ComponentModel.Composition;
using System.ComponentModel.Composition.Hosting;
using System.ComponentModel.Composition.Primitives;
available. i tried to add a reference but cannot find System.ComponentModel in the list even

Do you have the Managed Extensibility Framework installed? MSDN says that System.ComponentModel.Composition is part of MEF.
Assuming that MEF is already included in .NET 4, you will also need to add a reference to System.ComponentModel.Composition.dll to your project.

It is because you are targeting a 3.5 framework. That's why you can't find the system.componentmodel.composition. And if you already change your target to 4.0 and still you can't see the composition. all you have to do is go to project then add reference then find the system.componentmmodel.composition. Once you already added it. You can already see the composition. Hope it helps. :)

You should go to References->Add Reference->Framework and select System.ComponentModel.Composition

You can also install the System.ComponentModel Nuget package:
Project > Manage Nuget packages >
Browse System.ComponentModel and install.

Related

Where to find this ReactiveUI.Routing?

I got a sample code that I couldn't get to compile. It is complaining about a missing Reference to ReactiveUI.Routing.dll
The piece of code that is using it is some Xaml code using RoutedViewHost element.
I looked up in Nuget for ReactiveUI-Routing. No help.
I had a look in the latest source code and couldn't find a project of that name or any direct members of the namespace ReactiveUI.Routing. There were some references in the test projects though. I wonder if they re-factored its members into the main dll?
Perhaps try pulling the source from https://github.com/reactiveui/ReactiveUI and compiling yourself?
RoutedViewHost is now in ReactiveUI.Xaml.dll, which is in the ReactiveUI-Platforms NuGet package. Since you haven't specified which major version of RxUI you're using, it's more difficult to help.
In ReactiveUI 4.x and below, this is in an assembly called ReactiveUI.Routing.dll, which is in the ReactiveUI-Xaml NuGet package.

"Cannot convert lambda expression to type 'string' because it is not a delegate type" in .NET 4.5

I am trying out an existing .NET 4.0 solution in VS2012 on a test machine (that only has VS2012 and SQL Server 2008 installed), and am getting the above error when I try to use the lambda syntax with the Include extension method.
The existing version of the solution has a reference to EntityFramework.dll, which is the one I had to add to use the Include method, but the upgraded version I'm looking at in VS2012 does not have such a reference, nor can I find a DLL of that name in the location it was on the other machine. The using statement for System.Data.Entity is greyed out, as ReSharper thinks it isn't needed. Don't know why.
Sample code: This is what is in the existing solution...
using (var context = new RSSFeedsEntities()) {
WebSite someSite = context.WebSites.Include(w => w.Feeds).FirstOrDefault(w => w.WebSiteID == 1);
}
Any idea how to solve this? Thanks
Ah ha! Found the answer.
Microsoft, in their, ahem, wisdom, made the (in my opinion) blindingly stupid decision not to have Entity Framework install like other bits of the development rack, but instead made the recent versions only available as NuGet packages. Why on earth they did this is beyond me, as I now have to install EF separately for every solution, instead iof installing it cone and having it available immediately.
Anyway, I used the NuGet package manager to install EF 5.0, and the error went away.
Hope this helps someone.

Autofac AggregateService exists in NuGet?

I found Autofac AggregateService awesome but what is the right way to include it in my project: clone it from code.google.com or use NuGet?
I got used to use NuGet but I can't find nothing about AggegateService there. Any help?
It seems that AggregateService and the other Extras are currently "in limbo". There's been a recent change in that the contributions are now being made part of the same solution as Autofac core, while they were previously a separate solution. From the current build file you can see that extras will be made available as a separate Autofac.Extras package and a separate download from the Autofac page.
Meanwhile, you can use AutofacContrib 2.6.1 or to grab the source and compile a dll yourself.
Btw, thanks for finding AggregateService awesome ;)
Update: actually, reading the build file properly (and looking at the current source structure), the Extras parts will be distributed as individual packages. So expect to find Autofac.Extras.AggregateService on Nuget in the future.

How to build and install yajl-objc on iOS

Hey I am trying to get http://github.com/gabriel/yajl-objc to work on iOS. It says to "Add the YAJLIOS.framework to your project" but I am not sure how I can get/build YAJLIOS.framework
Thanks!
-Ray
Although this is an old question, I came across the issue today updating a client's old project. The YAJL-objC project requires you to run a makefile command in order to compile the .framework file needed for installation.
To create the framework, checkout the latest from github, and then open Terminal. Change your directory to: yajl-objc\Project-iOS
Next, type the command make and run it. This will execute the compiling for you and create a new framework file here: yajl-objc\Project-iOS\Framework\YAJLiOS.framework
You can then drag that framework into the project you wish to use it in. Good luck!
I should have looked harder, but there is simply a download under the github download link that includes the framework.

Visual Studio 2010 Publish Web feature not including all DLLs

I have an ASP.NET MVC 2 application.
Web project contains a reference to SomeProject
SomeProject contains references to ExternalAssembly1 and ExternalAssembly2.
SomeProject explicitly calls into ExternalAssembly1, but NOT ExternalAssembly2.
ExternalAssembly1 calls into ExternalAssembly2
When I perform a local build everything is cool. All DLLs are included in the bin\debug folder. The problem is that when I use the Publish Web command in Visual Studio 2010, it deploys everything except ExternalAssembly2.
It appears to ignore assemblies that aren't directly used (remember, ExternalAssembly2 is only used by ExternalAssembly1).
Is there any way I can tell Visual Studio 2010 to include ExternalAssembly2?
I can write a dummy method that calls into ExternalAssembly2. This does work, but I really don't want to have dummy code for the sole purpose of causing VS2010 to publish the DLL.
None of these answers are sufficient in my mind. This does seem to be a genuine bug. I will update this response if I ever find a non-hack solution, or Microsoft fixes the bug.
Update:
Doesn't seem promising.
https://connect.microsoft.com/VisualStudio/feedback/details/731303/publish-web-feature-not-including-all-dlls
I am having this same problem (different assemblies though). If I reference the assemblies in my web project, then they will get included in the publish output, but they should be included anyway because they are indirect dependencies:
Web Project ---> Assembly A ---> Assembly B
On build, assemblies A and B are outputed to the \bin folder. On publish, only assembly A is outputed to the publish folder.
I have tried changing the publish settings to include all files in the web project, but then I have files in my publish output that shouldn't be deployed.
This seems like a bug to me.
I had the same problem with VS2010 and a WCF Service Application.
It turns out that if your (directly or indirectly) referenced DLL's are deployed to GAC, the VS publishing feature excludes them. Once I removed the assemblies from GAC, publishing feature started working as expected.
I guess VS is assuming that if your assemblies can be located in GAC on the machine you build, they will be located in GAC on the target machine as well. At least in my case this assumption is false.
My tests show that the external assemblies get published when I have a reference on them in the web project. I do not have to write any dummy code to make it work. This seems acceptable to me.
I agree with Nicholas that this seems to be a bug in visual studio. At least it escapes me what the reason for the behavior could be.
I have created this issue as a bug on Microsoft Connect. If anyone experiencing it could vote it up https://connect.microsoft.com/VisualStudio/feedback/details/637071/publish-web-feature-not-including-all-dlls then hopefully we'll get something done about it.
If you go into the ExternalAssembly2 reference property list and change the "Copy Local" to "True" i think that might solve your issue.
I don't know if you are watching this still but I found the solution (I had the exact same issue) via this MSDN article. Under "build action" for the file choose "Content" that should include it in the list of files publish brings over.
I have created a new Connect bug here https://connect.microsoft.com/VisualStudio/feedback/details/731303/publish-web-feature-not-including-all-dlls
I've also attached a solution and detailed steps to reproduce this issue. Lets hope this time they won't close it as Can't Reproduce.
Vote for this connect issue if you experience the missing dll problem.
Copy local did the trick. I had an issue that the Newtonsoft.Json assembly get included in the deploymeny package. Copy local was set to false.
I am experiencing the same type of issue with a web project. I have a web project that references assembly A which references assembly B. It worked fine for some time but today it was broken. I did a rebuild of the solution and this time it deployed everything correctly.
I had this same problem today. I published my web project and realized that not all of the reference DLL's were there. In particular, the indirect DLL references.
It turns out that the directory in which I was publishing to was out of disk space (network share). I had just enough space to publish all the files except for few indirect reference DLL's. The sad part is that VS08 didn't throw any errors. It just published the files are usual. I cleared out some HDD space and everything worked fine.
I didn't find the HDD space issue until I tried to manually move the DLL's over.
in my case it is quite tricky.
Reference to ExternalAssembly2 is not required to Build the project but vital for run-time since we use reflection to configure Unity container.
So, I delete the reference - build the project successfully, but get run-time error.
If I preserve the reference I can Build and Run the application but I cannot Publish it with ExternalAssembly2 - get run-time exception as well.
This is happen because of internal VS2010 assemblies optimization.
So, what we can do here?
1. Put some unrequired peice of code to use any ExternalAssembly2's class.
2. escape from reflection and use static assemblies linking.
Hope this helps to smbd.
I got the same problem and this is a VS2010 bug if there's a reference link like:
Web Project --> custom project --> assembly1 -->(indirectly) assembly2.
For now I find if I reference the Assembly1 in the web project, then assembly2 is included in the bin folder.
So I had to add an additional reference link like:
Web project --> assembly1 -->(indirectly) assembly2.
Then VS can recognize assembly2 and include its dll file in publish action.