Catastrophic failure while running rrw: System.ArgumentException: Reference path doesn't exist.

I updated Unity to 4.3 from 4.2 and I’ve updated prime31 too. I’ve selected 8.1 as Windows SDK, and I’ve installed VS Express 2013.

When I try to build for Windows Store, I get the following error:

Error building Player: Exception: Failed to run Reference Rewriter with cmdline --target="Temp/StagingArea\Assembly-CSharp-firstpass.dll" --framework="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1" --platform="C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Windows.winmd" --support="Temp/StagingArea\WinRTLegacy.dll" --system=Unity --dbg=pdb --alt=System.Xml.Serialization.[Temp/StagingArea\Assembly-CSharp-firstpass.dll]
Catastrophic failure while running rrw: System.ArgumentException: Reference path doesn't exist.
Parameter name: frameworkPath
   at Unity.ReferenceRewriter.RewriteContext.CheckFrameworkPath(String frameworkPath)
   at Unity.ReferenceRewriter.RewriteContext.CheckFrameworkPaths(String[] frameworkPaths)
   at Unity.ReferenceRewriter.RewriteContext.For(String targetModule, DebugSymbolFormat symbolFormat, String supportModule, String[] frameworkPaths, String platformPath, ICollection`1 strongNamedReferences, ICollection`1 winmdReferences, IDictionary`2 alt)
   at Unity.ReferenceRewriter.Program.Main(String[] args)

The same project compiles fine on another pc.
I’m a bit clueless about where to look to fix that: found many random posts, but most were without answers, and occasionally with an answer which didn’t apply to my situation.

What can I do?

PS: downgrading is not an option, since I need consumables, which aren’t supported in earlier versions.

1 Answer

1

There were many “paths”, so it was easy to miss one: I’ve noticed it was searching for path C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1, while there only is v4.5. However I had installed both VS 2013 and the Windows 8.1 SDK.

Turns out I had to install “VS 2013 for Windows”, while I installed instead “VS 2013 for Windows Desktop”. Doing this fixed the problem: that directory was created, and Unity was able to compile.

A better error would definitely have helped…

hi, i don't really understand how did you fixed your probleme ? did you uninstalled the VS 2013 and installed the desktop one ?

I believe he means he had installed the desktop version and it wasn't working, but installing "VS 2013 for Windows" (not windows desktop), fixed his issue

ok but to install VS 2013 there is just Two version : Free trial and a Full version and it cost a lot for testing game, i have VS express, and since i have the same error

I didn't uninstall anything, I just installed also the non-desktop version. It was just free AFAIK, but I was using the company's account so I'm not entirely sure about that.