I've got a cross platform (iOS and Android) Xamarin solution using .NET Standard 2.0. The solution is being built by Visual Studio 2017 (I've tried both the current and preview versions). The Forms and Android projects build fine. However, the iOS fails to build, with the following error:
1>CSC : error CS1703: Multiple assemblies with equivalent identity have been imported: 'C:\Users\newuser.nuget\packages\system.reflection.emit\4.3.0\ref\netstandard1.1\System.Reflection.Emit.dll' and 'C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0\Facades\System.Reflection.Emit.dll'. Remove one of the duplicate references.
I've tried many work arounds as described here:
oren.codes
www.hanselman.com
github.com/NuGet
Unfortunately none of these suggestions work. I have also tried to add the System.Reflection.Emit nuget package directly to the Forms and/or to the iOS projects directly. This doesn't work either. Note that originally, the The System.Reflection.Emit package wasn't referenced directly by anything in the solution. It is being pulled in by the following nuget packages which are being explicitly referenced:
Acr.DeviceInfo (5.0.5)
akavache (6.0.0-alpha0038)
AutoMapper (6.2.2)
Microsoft.Identity.Client (1.1.1-preview0040)
Newtonsoft.Json (10.0.3)
Finally, I have tried the update-package -reinstall command in the package console to reinstall all packages for the iOS project. This doesn't work either.
-- update
Just to make this clear, neither the Xamarin Forms or the Xamarin iOS project directly reference System.Reflection.Emit. That package is being pulled in as a dependency of other nuget packages, just from packages that are installed into the Xamarin Forms project. I have confirmed all of the dependencies that are referenced by Nuget, are using the same version. See these screenshots:
It seems to me that the problem (as the error says) is that there is an old version of System.Reflection.Emit that was installed by Visual Studio. However, I can't find a way of ignoring it and using the version of System.Reflection.Emit instead. As I've said above, I have tried to use a project.json file in the Xamarin.iOS project, and manually ignoring, but this doesn't work.
Does anyone else have any ideas?
As an aside, I notice that this bug is still open for Xamarin.
Xamarin Bugs
Managed to get this resolved thanks to an answer by #DirkWilhem on Xamarin Forums site.
Basically, add this to your Xamarin iOS project's .csproj file, with the other PackageReference nodes:
<PackageReference Include="System.Reflection.Emit">
<Version>4.3.0</Version>
<ExcludeAssets>all</ExcludeAssets>
</PackageReference>
Of course you need to make sure the nuget package has been added to the iOS package first.
Xamarin Forums discussion
After spending hours trying to resolve this myself I may have found a solution. Although it does feel wrong, it has got me past the issue.
Moving/Deleting the Xamarin.iOS version of System.Reflection.Emit.dll has solved the build problem for me and enabled me to deploy and run my app on a device. I don’t know what side effects it might have so will need more testing but I thought I’d share what’s worked for me so you can test it as well.
I was running on macOS Visual Studio 2017 but switched over to Windows to try and fix and first fixed on there then tried same approach on macOS and it worked as well.
On windows, go into the following directory and move the System.Reflection.Emit.dll somewhere else (you could just straight up delete it but I wanted to keep a copy I case this has some undesired effects down the track):
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0\Facades
On mac the following directory has it:
/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/Facades
Like I say, it feels wrong but for now it’s got me past an issue that’s had me blocked for a couple of days so willing to just move on and hope there’s no side effects. I’d be interested to know your experience with it and if you come across anything else for the future too.
I’ll post this same comment on the Xamarin forums post (https://forums.xamarin.com/discussion/120814/xamarin-ios-project-cs1703-multiple-assemblies-with-equivalent-identity-have-been-imported) as well for future reference.
I had the same issue around a custom Nuget packages that we created and consumed in a separate project. We got around this issue by removing the automatic Nuget building checkbox in the "options" for the project. This does add the extra step of "Create Nuget Package" but one we pushed it to our Nuget repo and consumed it in our project, the errors vanished.
The problem showed up when we updated the sub-projects from PCLs to .netstandards (2.0).
java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/lang/String;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode;
at org.eclipse.birt.data.engine.expression.AbstractExpressionCompiler.parse(AbstractExpressionCompiler.java:238)
at org.eclipse.birt.data.engine.expression.AbstractExpressionCompiler.compileExpression(AbstractExpressionCompiler.java:132)
at org.eclipse.birt.data.engine.expression.ExpressionCompiler.compile(ExpressionCompiler.java:68)
at org.eclipse.birt.data.engine.expression.ExpressionCompilerUtil.compile(ExpressionCompilerUtil.java:56)
at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.initAutoBinding(ServiceForQueryResults.java:1014)
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:174)
at org.eclipse.birt.report.engine.api.impl.ExtractionResults.nextResultIterator(ExtractionResults.java:157)
at org.eclipse.birt.report.designer.data.ui.dataset.DataSetPreviewer.preview(DataSetPreviewer.java:69)
at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage$5.run(ResultSetPreviewPage.java:366)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Getting this error while creating Dataset in Studio.
I added
rhino 1.7.7.1 jar,
updated the mysql-connector jar with the latest one.
Added jars in the project still am getting this error.
Please give some solution as soon as possible.
I searched over the internet and found that now BIRT plugins are removed from the eclipse market place so many dependency which is required for BIRT is not available even after adding SpagoBI plugins.
I downloaded "eclipse-reporting-mars-2-macosx-cocoa-x86_64.tar" for mac OS from
http://www.eclipse.org/downloads/packages/eclipse-ide-java-and-report-developers/mars2
You can easily download the eclipse for Windows,Mac or Linux OS from DOWNLOAD LINK provided in the right side.
In this IDE, Reports jars are present so you will not face any issue while creating the report or cockpit.
You just need to add the SpagoBI studio plugins in Eclipse plugin folder after that it will work without any error.
Thanks, Hope this will help.
I feel guilty asking a question like this around here, but I'm at a loss and would appreciate some help.
A proof-of-concept like web application was built on one PC and put up on a repo to download on another PC at a different location. There was originally an auto-build feature set up where Azure would build and publish automatically on check-in, but that was removed. Things were working on both ends until one side included a bulk of excluded changes. Now I'm seeing the following error:
The "Microsoft.CodeAnalysis.BuildTasks.Csc" task could not be
loaded from the assembly
...\packages\Microsoft.Net.Compilers.1.0.0\build..\tools\Microsoft.Build.Tasks.CodeAnalysis.dll.
Could not load file or assembly
'file:///...\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.Build.Tasks.CodeAnalysis.dll'
or one of its dependencies. The system cannot find the file specified.
Confirm that the declaration is correct, that the assembly
and all its dependencies are available, and that the task contains a
public class that implements Microsoft.Build.Framework.ITask.
Does anyone have any suggestions on where to begin looking for the issue?
It turns out that NuGet packages were committed to the repository and breaking everything. Deleting the project\project\packages directory from the repo solved all build problems since NuGet fetches the packages automatically on build.
I got this error when I created a new branch for my project.
It drove me crazy for an hour. I tried most of the suggestions over the internet including the accepted answer to this question.
I then closed the project, opened it again, cleaned it and the error is gone. So this means this could be cache issue.
Anyways, just wanted to share.
I too tried the top answer with no luck so deleted the contents of my bin and packages dir, closed and re-opened VS and everything fine now.
I have tried all solutions described before, but none worked.
What solved it for me, was to update the Microsoft.Net.Compilers from the NuGet Package Manager
Right-click on your solution.
Go to Manage Nuget Packages.
Search for Microsoft.Net.Compilers.
Install or update on dependent projects as necessary.
Re-build, clean solution and restart Visual Studio worked for me.
Deleting the package and cleaning the solution solved it for me.
Deleting these three directories solves the problem.
/packages
/bin
/obj
NOTE: delete both /bin and /obj from all projects included in the solution (including Test projects).
Problem hides on TFS, you need to remove folder TestProject...\packages from TFS, check in, delete it from your local dir and build again. Worked!
Use the below step:
1) Delete the package folder.
2) close the visual studio.
3) open the project and rebuild the project.
I delete all from packages folder and rebuild solution. It's worked for me.
In my case: this works for me.
It turns out my teammate had already started looking into Windows 10 development and had Microsoft Build Tools 2015 installed on his machine.
I installed the software from https://www.microsoft.com/en-us/download/details.aspx?id=48159 and the problem was solved.
In my case, the solution was:
Use Windows Explorer and navigate to the offending path:
C:\MyApplication\Code\Main\ABCProject\ABCProject.UI\Bin
Right click on bin folder > select properties > Uncheck ReadOnly.
In my case, the solution was:
Right Click on Solution.
Go to Manage Nuget Packages for this Solution.
Search for Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
Uninstall the searched Package.
Restart the Visual Studio.
I just tried this on a clean install of a Windows 10 machine and the issue for me ended up being that I didn't have the .NET 3.5 framework installed. This stackoverflow question helps explain why.
Cannot build WIX project on windows 10
Right Click on Solution.
Go to Manage Nuget Packages for this Solution.
Search forMicrosoft.Net.Compilers on Browse Section.
Deleting the bin folder worked for me
In vs2017 community there appeared a new item in the "build" menu. It disappeared after I used it and was called something like "Optimise project build packages". I clicked it and it fixed everything, just restart etc. I did it on two machines.
What it did was removed Microsoft.net.compilers 2.10.0 and replaced with Microsoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1
So there you go - more automagic...
My project was built with .Net Core 2.2 but I had .Net core 3.0 preview installed. I uninstalled .Net Core 3.0 from my system and went through all my class libraries, removing Microsoft.Net.Compilers 3.0, then rebuilt and it worked.
I moved my solution from one drive to another, and one of the files could not be copied because "in used", for which I click ignored, producing the error described in this post. Copying the missing file manually fixed it.
file: Microsoft.Build.Tasks.CodeAnalysis.dll
Destination directory: packages\Microsoft.Net.Compilers.2.1.0\tools
For me I was trying to open a MVC5 project in VS 2013 and I was getting this error, Opened it in VS 2017 and up it worked just fine.
All of the sudden, I'm no longer able to build a Solution without getting an error in VS 2010. A minute ago I was able to build, and now I can't.
The error is:
Unable to load referenced library 'C:\Program Files\Reference
Assemblies\Microsoft\Framework.NETFramework\v4.0\System.DirectoryServices.dll':
System Error &H8013110e&
I've checked and the .dll is there.
I've re-booted and grabbed the latest version from Team Foundation Server.
Any ideas?
This post on MSDN indicates that this error message represents a BadImageFormatException. That exception, combined with the steps you have already taken, makes me think that maybe your install of .NET has become corrupted. I had a similar issue a while back (while using a VM) and I had to repair the .NET Framework on my VM using the .NET Framework Cleanup Tool to finally resolve the issue.
If you check the comment on the accepted answer to this question, I posted the steps I took when using the .NET cleanup tool.
I re-installed VS 2010, and the error no longer appears.
Out of the blue today I started getting this error in Visual Studio 2008 when I go to compile a website, compiling a class library is no issue. My project is based in ASP.NET 3.5 and another in 2.0
Unable to load DLL 'webengine.dll':
The specified module could not be
found. (Exception from HRESULT:
0x8007007E)
I've tried uninstalling, reinstall .NET versions, service packs, etc... nothing in my searches have helped me.
Well after a day of frustration I figured out how to recover from this error. I have no idea why it happened, as I was fine at the end of the day yesterday and hosed at the beginning of the day today.
But I had to completely, and I stress completely, uninstall .NET. The normal uninstall leaves remnants of the install. However this page gives you a tool to completely uninstall .NET:
http://blogs.msdn.com/astebner/pages/8904493.aspx
After uninstalling .NET it will force you to reboot. Then go into your windows\microsoft.net folder and delete (or rename) the framework folder. Finally, re-install .NET and the error will hopefully be gone for you as well.
For me a simple restart did the trick. I know that wasn't exactly your problem but maybe this helps someone else who came here via search engine...