Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NullReferenceException After Upgrading Microsoft.CodeDom.Providers.DotNetCompilerPlatform from Version 3.6.0 to 3.11.0 or 4.1.0 #166

Open
rubenc57 opened this issue Aug 26, 2024 · 2 comments

Comments

@rubenc57
Copy link

After upgrading Microsoft.CodeDom.Providers.DotNetCompilerPlatform from version 3.6.0 to either 3.11.0 or 4.1.0, I encountered the following error message:

Microsoft.CodeDom.Providers.DotNetCompilerPlatform failed to uninstall. Restart Visual Studio to finish process.

Upon restarting Visual Studio and running my website, I received this error:
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=CMS
StackTrace:
at CMS.Startup.ConfigureAuth(IAppBuilder app) in D:\Mis Proyectos\VS22\websites\jw\CMS\CMS\App_Start\Startup.Auth.cs:line 30

Here is the relevant code from Startup.Auth.cs:

using CMS.Models;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;
using Owin;
using System;
using System.Configuration;

namespace CMS
{
    public partial class Startup {

        // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301883
        public void ConfigureAuth(IAppBuilder app)
        {
            // Configure the db context, user manager and signin manager to use a single instance per request
            app.CreatePerOwinContext(ApplicationDbContext.Create);
            app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
            app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);

            // Enable the application to use a cookie to store information for the signed-in user
            // and to use a cookie to temporarily store information about a user logging in with a third-party login provider
            // Configure the sign-in cookie
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
                SlidingExpiration = true,  
                ExpireTimeSpan = TimeSpan.FromMinutes(Double.Parse(ConfigurationManager.AppSettings["CookieExpireTimeSpan"].ToString())),
                Provider = new CookieAuthenticationProvider
                {
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(Double.Parse(ConfigurationManager.AppSettings["CookieExpireTimeSpan"].ToString())),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                }
            });
            // Use a cookie to temporarily store information about a user logging in with a third-party login provider
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

            // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
            app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));

            // Enables the application to remember the second login verification factor such as phone or email.
            // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
            // This is similar to the RememberMe option when you log in.
            app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);

            // Uncomment the following lines to enable logging in with third-party login providers

            switch (ConfigurationManager.AppSettings["OAuthApp"])
            {
                case "local":
                    app.UseFacebookAuthentication(
                       appId: ConfigurationManager.AppSettings["FacebookLocalAppId"].ToString()
                       , appSecret: ConfigurationManager.AppSettings["FacebookLocalAppSecret"].ToString()
                       );
                    break;
                case "beta":
                    app.UseFacebookAuthentication(
                       appId: ConfigurationManager.AppSettings["FacebookBetaAppId"].ToString()
                       , appSecret: ConfigurationManager.AppSettings["FacebookBetaAppSecret"].ToString()
                       );
                    break;

                case "cms":
                default:
                    app.UseFacebookAuthentication(
                        appId: ConfigurationManager.AppSettings["FacebookCmsAppId"].ToString()
                       , appSecret: ConfigurationManager.AppSettings["FacebookCmsAppSecret"].ToString()
                       );
                    break;
            }

        }
    }
}

Even after downgrading the package back to version 3.6.0, the error persists. Previously, the application ran without issues on version 3.6.0 before the upgrade.

To resolve the issue temporarily, I restored a backup of my website, which restored functionality.

Could anyone advise on what might be causing this error and how to resolve it?

Thanks in advance for your help!

Ruben

@rubenc57
Copy link
Author

Thank you @MinecraftEarthVillage

When I click on the link I get this:

"Something appears to be missing…
The key you provided for file access was invalid. This is usually caused because the file is no longer stored on MediaFire. This occurs when the file is removed by the originating user or MediaFire."

@rubenc57
Copy link
Author

What just happend here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants
@rubenc57 and others