My c# installer project came up with a load of warnings when I rebuilt it on a new machine. The warnings were of the ilk that they were looking for version 11.0.0.0 of a dll where only version 10.0.0.0 existed. This I found was due to the version of SQL Server installed (SQL Server 2008 R2). Most of the dll's were specifically due to the version of the Share Management Objects package not being version 11.0.0.0.
So I installed SqlSysClrTypes.msi (x86) that is required for Shared Management Objects. I then installed ShareManagementObjects.msi (x86). I got them from here.
Some of the errors have gone, but now I get 2 that seem to reference the same dll that should have been installed from SharedManagementObjects.msi. It must be obtainable / installed with something as I currently have version 10.0.0.0.
The errors are:
Unable to find dependency 'MICROSOFT.SQLSERVER.MANAGEMENT.SQLPARSER'
(Signature='89845DCD8080CC91' Version='11.0.0.0') of assembly
'Microsoft.SqlServer.Smo.dll'
and:
Unable to find dependency 'MICROSOFT.SQLSERVER.MANAGEMENT.SQLPARSER'
(Signature='89845DCD8080CC91' Version='11.0.0.0') of assembly
'Microsoft.SqlServer.Management.SmoMetadataProvider.dll'
Everything I've read suggests that Microsoft.sqlserver.management.sqlparser should have been installed as part of SharedManagementObjects.msi. Is there something I can do to get this dll? Is there something else I need to install such as the Native Client?
I solved the same problem by installing the file ENU\x64\TSqlLanguageService.msi. You can find it here:
Select here the file TSqlLanguageService.msi
Related
I have built an application using C#. I had referenced ODAC version 4.121.2.0.
When I deployed my application on the server, the application failed with error:
Unhandled Exception: System.BadImageFormatException: Could not load file or asse
mbly 'Oracle.DataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b4
83f429c47342'. This assembly was compiled for a different processor.
The server only has 4.121.1.0 installed.
What do I need to do to make application work? Things I tried:
1. In the .csproj <SpecificVersion>False</SpecificVersion>
<Private>False</Private>
2. I tried copying over the ODAC version (4.121.2.0) in the bin solution directory(of the server), it wouldn't work.
3. I tried removing all ODAC dlls in folder, so that it can find out older version and use that for functionality.
I do not want to install older version on my local and then - I have tried this in the past and I ended up uninstalling all the versions.
Possible duplicates:
Having two ODP.NET (ODAC) versions in the same server
How do I get an older version of OracleClient to work locally with .NET?
oracleclient-to-work-locally-with-net
But these links didn't provide solution for my problem.
I think the error your are getting is not related to a dependency versioning issue. A BadImageFormatException usually gets thrown when there are 32Bit/64Bit incompatibilities between the entry point (i.e. exe file) and one of the dependencies.
Try playing with the target platform when you compile the project(s) (Any CPU/x86/x64 and the Prefer 32-Bit project property).
Hope it helps!
I've made a fresh Xamarin Forms Portable Project from the Cross Platform templates in Visual Studio 2015. Haven't touched or modified any of the project files. Then When I try to initially build it, I get the following build error:
C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1098,5): error MSB3644: The reference assemblies for framework "MonoAndroid,Version=v6.0" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.
My Project defaults are:
Looking at similar questions, it would seem that, indeed, that version of the framework is not installed. But it seems to be. Android SDK Manager shows the following:
What is going on here? How can I resolve this.
When you get these type of errors, that are really 'out there' and hint of system configuration problems, it's time to reinstall.
I had to completely remove all remnants of Visual Studio, SDKs and Xamarin. 'Modify' and 'Repair' didn't work.
After the complete fresh install of VS 2015 and Xamarin, things are back to normal.
I installed the Remote Server Administration Tools for Windows 8.1 (http://www.microsoft.com/en-gb/download/details.aspx?id=39296) expecting that this would populate the GAC with the Microsoft.GroupPolicy assemblies.
The tools themselves installed successfully, however the expected assemblies are not in the GAC.
I have repeated the exercise with the Windows 7 tools (http://www.microsoft.com/en-gb/download/confirmation.aspx?id=7887) and those assemblies do appear in the GAC following installation.
Has anyone else experienced the same issue? If so, how did you resolve it?
You are just looking in the wrong location, the screen-shot shows the GAC for the v2 runtime. Stored in c:\windows\assembly. You however downloaded a Win8.1 program, it almost certainly uses .NET 4.5 since that's the version that's pre-installed on Win8.
Which uses a different GAC, the v4 version is located in c:\windows\microsoft.net\assembly. There is no shell extension for it that flattens the view, you can see the directories in the GAC as-is. Easy enough to navigate, the GAC structure isn't very complicated.
Of course you'll have to target .NET 4.x in your project to use these assemblies. And keep in mind that it still might favor local deployment instead of the GAC, you'll have to look in the install directory as well. I didn't try it.
I have read all related questions and no solutions worked for me. Among them, things that I tried were:
Rebuild and published in Release mode with Any CPU platform. I also tried rebuilding and publishing with x64.
Reinstalled .Net 4.5.1
Made sure I'm referencing the correct "bit" version. Not only this but I also tried uploading to our Azure site the DLLs from this folder: {Windows dir}\Microsoft.NET\Framework64\v4.0.30319. That is the folder where .Net 4.5.1 was installed - validated in registry (regedit).
Checked and verified that our Azure website is in 64-bit mode
Verified that the target framework in VS is .Net Framework 4.5.1 - I'm using VS 2013
Our site is built with nopcommerce v3.3. I'm thinking that the issue is not caused by the nopcommerce project. The site runs on my local machine. I also researched on Azure support for .net 4.5.1 and found this page stating that Azure supports 4.5.1 since March.
With all those information what else could I be missing? Thanks in advance.
By the way here's the exception details:
Exception Details: System.BadImageFormatException: Could not load file
or assembly 'System.EnterpriseServices.Wrapper.dll' or one of its
dependencies. The module was expected to contain an assembly manifest.
I've researched on that too (BadImageFormatException) and the suggestion was to build with "Any CPU" that I already did. My local machine is running on Windows 7 SP1 64-bit from which the project was built - not sure if this is related to the problem.
When I run any project from Visual Studio, it works excellent (on Motorola MC 3190 - WinCE 6.0)
However, when I install and run the application on the device, I get this error:
No compatible FusionInterface dll found, Expected version is 4.1.0.1 or higher version having the format 4.x.x.x
What could be the problem?
In my case, deploying Symbol.Fusion.dll and FusionInterface.dll files in the same directory than my executable has resolved this error.
You must install the symbol.all.arm.cab file. If you are using Windows CE then you need the armv4 version. If you are using Windows Mobile, then you need the armv4i version.
Also, make sure there is no local copy of the DLLs in your application's directory; this could be possibly causing a version mismatch.
Adding a reference to Symbol.ResourceCoordination worked for me. Per the CS_FusionSample1 code example included with the Motorola EMDK v2.9, the relevant Symbol references are Symbol, Symbol.Fusion, and Symbol.ResourceCoordination.
Note, I'm building for a Motorola 9190 handheld under Windows CE 6.0.
Fusion Interface DLL Version Compatibility
EMDK for .NET access Fusion Public API via Fusion interface DLL as mentioned in the Overview section. There can be different versions of Fusion Public API and in return many versions of Fusion Interface DLLs.
Version Incompatibility Issue
If this DLL is incompatible with EMDK, an appropriate meaningful error message will be provided in the exception when trying to access Fusion. This occurs when creating Config and WLAN objects.
Possible Messages
Older and incompatible FusionInterface dll 1.0.0.1 found. Expected version is 2.0.0.3 or higher version having the format 2.x.x.x
Newer and incompatible FusionInterface dll 3.1.0.5 found. Expected version is 2.0.0.3 or higher version having the format 2.x.x.x
Solution
The DLL version incompatibility arises because of the two files (Fusion Interface DLL and the Fusion Assembly DLL) taken from different EMDK packages. To fix the issue,
Method 1:
Remove "Symbol Managed Class Libraries" using "Remove Programs" in the control panel of the device.
Check "\Windows" folder of the device for any existence of "FusionInterface.dll" and if so, delete it.
Take the "symbol.all.arm.cab" from EMDK installed location, copy to the device and run installation.
The typical location is the appropriate sub directory (wce400\armv4 or wce500\armv4i) of "\Program Files\Enterprise Mobility Developer Kit for .NET\v2.x\SDK\Smart Devices".
Run the application.
Method2:
Copy the appropriate DLL to the \Windows directory of the device.
Run the application
Note: This DLL is not separately available in the EMDK for .NET package.