I recently update my visual studio to the lastest available version and also the .net6 SDK, currently I have 6.0.302.
Since then I haven't been able to compile Blazor WASM project. I get the following error
NETSDK1083: The specified RuntimeIdentifier 'blazor-wasm' is not recognized.
I can't find any help on the internet and tried several solutions, use previous SDKs, reinstall visual studio, but nothing seems to work. The only progress that I made was when I removed the line blazor-wasm I got a different error NETSDK1031: It is not supported to build or publish a self-contained application without specifying a RuntimeIdentifier. You must either specify a RuntimeIdentifier or set SelfContained to false. event thu the SelfContained is set to false.
Any help, hint or something would be much appreciated. I have been with the problem for almost a week and basically I can't work normally because of this.
Related
I am trying to figure out how my VSIX project stopped working [VS2022]. following this article, I was able to run and debug my VSIX project with an IWizard implementation. Something changed, I'm not sure what. I can F5-run and everything works but the code executing is not the latest code and I'm unable to hit any breakpoints (VS says No Symbols have been loaded for this document). I can tell its not the latest code because of the debug console messages and the UI is an older version.
I've tried a number of things including
Clean install
Made sure I'm in debug
Removed the extension from VS, and just tried running debug from VS
Verified compiled output is in AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions\ {myextension}
Property settings are set
Assets have not changed
I did mess around adding additional install targets but I don't think this caused any issues
Any ideas how the the project can be out of sync with the code?
I could go back to the start and implement a new project but hoping someone out there can help resolve this issue. Appreciate the help.
I figured this out. I don't know why it works the way it does, but this definitely fixed the problem.
I removed ALL extensions from VS using the extensions manager interface. So, all old instances are gone (but are they?)
In my VSIXProject I would do a clean solution, rebuild, run. I verified that the latest DLL's were being output to
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Acme Project Template\1.0\VSIProject1.dll - VS Build output went here
In the debugger, when my little windows form loaded, I could tell it was old code and caught the reference in the output windows that it was loading an older version of the package.
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Multi Project Name\1.0\VSIProject1.dll - debugger loaded this
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Acme Project Name\1.0\VSIProject1.dll - debugger loaded this after deleting above
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Acme Project Template\1.0\VSIProject1.dll - VS Build output went here
After I deleted all the previous extensions in file explorer and re-ran my project, the right code executed and debugging was enabled. IDK why the older versions were picked during debugging but it's fixed. HTH someone.
I upgraded existing web forms app (c#) from Visual Studio 2017 Enterprise to 2019. While code is working fine, when I open default.aspx page - I get 123 errors (while code compiles fine). If I open it back in 2017 version - no errors
I had addressed couple of the errors but not sure what to do with the rest. Especially puzzling that code compiles with 0 errors. Errors show only if I open default.aspx
Most errors are CS0103 - the name 'name here' doesn't exist in the current context
Few errors CS0400 - the type or namespace 'project name' could not be found in the global namespace
Few CS1061 - 'default_aspx' doesn't contain definition for 'Context'...
I don't understand how it still compiles without errors and works? What changed with upgrade that those errors popped up? All those names and namespaces exist and there were no changes other than upgrade. New requirements? How to fix it?
Found a solution:
This is happening to projects that are using v1.0.0 of Microsoft.Net.Compilers. To work around this problem you need to update to the latest stable version which is 3.0.0.
All errors disappeared.
Looks like something broken with VS Intellisense since the compile and build sueeccded.
1.Before you open the web form project in VS2019, navigate to its Solution Directory and delete the hidden .vs folder there, after that open the project in VS2019 to check if it helps.
2.If the issue persists, try cleaning the VS component cache after close all VS instance:
Go C:\Users\xxx\AppData\Local\Microsoft\VisualStudio directory, you can find many 15.xx and 16.xx folders there, feel free to delete all ComponentModelCache folders in them and restart VS.
I asked this on the Xamarin forums but got no response.
Running my app in debug mode works fine, but when I try to run in release mode, I get these errors:
Error Payload contains two or more files with the same destination path 'e_sqlite3.dll'. Source files:
C:\Users\Bob.nuget\packages\sqlitepclraw.lib.e_sqlite3.v140\1.1.8\runtimes\win10-arm\native\e_sqlite3.dll
C:\Users\Bob.nuget\packages\sqlitepclraw.lib.e_sqlite3.v140\1.1.8\runtimes\win10-x86\native\e_sqlite3.dll
I have seen other posts where some users have updated the nuget for UWP and others that have actually deleted one of the dll's, but none of these work for me; when I try to delete one of them, I then get an error that it is missing, so not sure what to do.
I have deleted my nuget folder and re-got everything fresh, cleaned my solution, rebooted, but nothing seems to work.
Well, I ended up opening an issue with Microsoft over it and turns out that I had the build target set to ARM (Project properties->Build->Platform Target) which apparently tries to copy 2 different versions. I set it to x86 and works fine.
The issue for me was that the project was set to target x64 in the project properties, but when I debug, I debugged using x86. The moment I switched to debug using x64, it worked for me.
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).
We are for some time now trying to find a solution for server prerendering of SPA, specifically Angular4, for the purpose of SEO.
We have come to try and use aspnetcore-angular2-universal, which seems to be the perfect solution, however, we encounter problems deploying the published build to a local IIS server.
We have posted an issue regarding the problem on the issues page at which can be found here:
https://github.com/MarkPieszak/aspnetcore-angular2-universal/issues/491
We have followed the instruction under "Getting started" & "Deploy" (which can be found here: https://github.com/MarkPieszak/aspnetcore-angular2-universal) exactly but the error still exist.
The support is unresponsive on issues and thus we are posting also here.
The problem is (as mention in the issue linked here) that we get the following error:
Which indicates a problem with the web.config file. However the webconfig file is exactly as supplied in the starter project and seems also legit.
I should mention that building and running the project using npm build:prod and dotnet run works and we can lunch an in memory application from Visual Studio Code, however when taking the published folder to an IIS folder the error occurs.
Any help will be appreciated.
Did you installed .NET Core Windows Server Hosting bundle?
Check if AspNetCoreModule listed in IIS => Modules. Sometimes it not installed properly during #1, even if there was "Succeeded" at all steps. In that case I just removing it via Program & Features, and reinstalling it then.
Once I saw that error when manually copied web.config from sources over the publish folder. Problem is that original web.config contains placeholders like %LAUNCHER_PATH% and %LAUNCHER_ARGS%, which turns to appropriate values (dotnet and .\YourApp.dll for instance) during dotnet publish
Aperantly there were incompebilities between angular5 & universal in serverside.
The https://github.com/MarkPieszak/aspnetcore-angular2-universal seed was downgraded to using angular4.3 instead of 5. When we updated seed, the problem was solved.