Method not found: Microsoft.WindowsAzure.ServiceModel.Service.set_IsSLBPartialGS(Microsoft.WindowsAzure.ServiceModel.Expression)

Problem:

The Azure SDK v2.9 is shipped with a mismatched version of assemblies. One of the assemblies is missing a setter for the property called IsSLBPartialGS.

Fix:

Copy the 2 assemblies Microsoft.WindowsAzure.ServiceModel.dll and Microsoft.WindowsAzure.ServiceModel.Comon.dll from: "C:\Program Files\Microsoft SDKs\Azure\Emulator"

to: "C:\Program Files\Microsoft SDKs\Azure\Emulator\devfabric"

Note that you'll need admin rights for this operation. I recommend making a backup before overwriting any assemblies.

How the I found the fix:

I wrote my own decompiler and symbol inspector to in order to compare assemblies and their contents. After comparing multiple folders, I found that the Microsoft.Windows.Azure.ServiceModel.dll in the Emulator folder has the AssemblyFileVersion: 1.0.6696.103 (rd_sm.180206-1102)

while the one in the DevFabric folder is version: 1.0.6696.47 (rd_sm.160421-1505)

Note that both AssemblyVersion's are the same (as shown in .NetReflector to be 1.0.0.0), however the AssemblyFileVersions are different. Looking further between the differences in the decompiled code from my program, I found that the assembly in the DevFabric (which is a slightly older version) is missing some key classes/methods/properties including the following: See picture of code difference


I experienced this issue starting recently, and was able to resolve it by reverting Azure Data Lake and Stream Analytics Tools to version 2.3.3000.2 -- the update to 2.3.7000.2 on 3/25/19 seems to have introduced the issue.


For me, it was just because I didn't start VS2019 as Administrator. Closed the solution and started it with Admin privilege then error went away.