Error cs0103 the name scenemanagement does not exist in the current context

This repository contains .NET Documentation. Contribute to dotnet/docs development by creating an account on GitHub.

Permalink

Cannot retrieve contributors at this time

description title ms.date f1_keywords helpviewer_keywords ms.assetid

Compiler Error CS0103

Compiler Error CS0103

07/20/2015

CS0103

CS0103

fd1f2104-a945-4dba-8137-8ef869826062

Compiler Error CS0103

The name ‘identifier’ does not exist in the current context

An attempt was made to use a name that does not exist in the class, namespace, or scope. Check the spelling of the name and check your using directives and assembly references to make sure that the name that you are trying to use is available.

This error frequently occurs if you declare a variable in a loop or a try or if block and then attempt to access it from an enclosing code block or a separate code block, as shown in the following example:

[!NOTE]
This error may also be presented when missing the greater than symbol in the operator => in an expression lambda. For more information, see expression lambdas.

using System;

class MyClass1
{
    public static void Main()
    {
        try
        {
            // The following declaration is only available inside the try block.
            var conn = new MyClass1();
        }
        catch (Exception e)
        {  
            // The following expression causes error CS0103, because variable
            // conn only exists in the try block.
            if (conn != null)
                Console.WriteLine("{0}", e);
        }
    }
}

The following example resolves the error:

using System;

class MyClass2
{
    public static void Main()
    {
        // To resolve the error in the example, the first step is to
        // move the declaration of conn out of the try block. The following
        // declaration is available throughout the Main method.
        MyClass2 conn = null;
        try
        {
            // Inside the try block, use the conn variable that you declared
            // previously.
            conn = new MyClass2();
        }
        catch (Exception e)
        {
            // The following expression no longer causes an error, because
            // the declaration of conn is in scope.
            if (conn != null)
                Console.WriteLine("{0}", e);
        }
    }
}

Pedor

0 / 0 / 0

Регистрация: 18.04.2021

Сообщений: 5

1

22.04.2021, 15:40. Показов 5955. Ответов 6

Метки unity (Все метки)


Ошибка в коде помогите пожалуйста найти её. Заранее спасибо!
Вот код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class MainMenu : MonoBehaviour
{
 
    public void PlayGame ()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1 );
    }
}

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



2496 / 1512 / 803

Регистрация: 23.02.2019

Сообщений: 3,689

22.04.2021, 16:16

2

А какая ошибка, лишний пробел?



0



0 / 0 / 0

Регистрация: 18.04.2021

Сообщений: 5

22.04.2021, 17:00

 [ТС]

3

Нет



0



2496 / 1512 / 803

Регистрация: 23.02.2019

Сообщений: 3,689

22.04.2021, 17:14

4

Вы можете просто скопировать текст ошибки в сообщение?
Чтобы его именно скопировать, а не перепечатывать, то кликните в консоли на ошибку и внизу консоли появится дополнительный текст ошибки, который можно выделить и скопировать.



0



0 / 0 / 0

Регистрация: 18.04.2021

Сообщений: 5

22.04.2021, 17:35

 [ТС]

5

Ах да, извинит- error CS0103:The name ‘SceneManager’ does not exist current context-Имя SceneManager не существует в текущем контексте



0



samana

2496 / 1512 / 803

Регистрация: 23.02.2019

Сообщений: 3,689

22.04.2021, 18:11

6

Лучший ответ Сообщение было отмечено Pedor как решение

Решение

Вы не прописали пространство имён

C#
1
using UnityEngine.SceneManagement;



1



0 / 0 / 0

Регистрация: 18.04.2021

Сообщений: 5

22.04.2021, 18:13

 [ТС]

7

Блин.. Спасибо большое!



0



I am relatively new to c# and Unity. I am trying to make a restart button so when the GameOver screen pops up, the button reloads the scene. However I keep getting an error saying that the name ‘SceneManagement’ does not exist in the current context. I was wondering how I could fix this?

Code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class RestartButtonScript : MonoBehaviour
{
    // ...

    public void restartScene()
    {
        SceneManagement.LoadScene(SceneManager.GetActiveScene().name);
    }
}

Milan Egon Votrubec's user avatar

asked Oct 17, 2022 at 6:09

MarcusLee's user avatar

It should be:

public void RestartLevel()
{
    SceneManager.LoadScene( SceneManager.GetActiveScene().name );
}

Milan Egon Votrubec's user avatar

answered Oct 17, 2022 at 6:21

thunderbird007's user avatar

C# Compiler Error

CS0103 – The name ‘identifier’ does not exist in the current context

Reason for the Error

You will usually receive this error when you are trying to use a identifier name in C# that doesnot exist with-in the current scope. One of the simple example of this error is when you declare a variable with-in a try block and try to access it in the catch block.

In the below example, the variable i is declared inside the try block, so its scope is restricted to the try block. When you try accessing it in the catch block is when you will receive the error.

using System;

public class DeveloperPublish
{
    public static void Main()
    {       
        try
        {
            int i = 1;
            int j = 0;
            int result = i / j;
        }
        catch(DivideByZeroException)
        {
            string message = i + " is divivided by zero";
            Console.WriteLine(message);
        }

    }
}

Error CS0103 The name ‘i’ does not exist in the current context ConsoleApp1 C:UsersSenthilsourcereposConsoleApp1ConsoleApp1Program.cs 16 Active

Solution

To fix the error move the declaration of the identifier that is causing the error to a higher scope so that it is available when it is accessed.

For example, to fix the error in the above code snippet, we just need to move the declaration of the identifier outside of the try block.

using System;

public class DeveloperPublish
{
    public static void Main()
    {
        int i = 1;
        try
        {          
            int j = 0;
            int result = i / j;
        }
        catch(DivideByZeroException)
        {
            string message = i + " is divivided by zero";
            Console.WriteLine(message);
        }

    }
}

  • Remove From My Forums
  • Question

  • User397255882 posted

    My asp.net page runs fine in VWD Express 2010 but on the server i get this error:

    error CS0103: The name 'DropDownList_Nodes' does not exist in the current context
    If anyone can help me I would appreciate it.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.SqlClient;
    
    namespace OrionNodeEvent
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {     
                if (!this.IsPostBack)//only do on 1st page load
                {
                    FillListBox();
                }            
            }//end Page_Load
    
            protected void Submit_Click(object sender, EventArgs e)
            {
                string connectionString = @"data source=****;initial catalog=****;user id=*****;" +
                        "password=****;packet size=4096;persist security info=False;connect timeout=30000; Trusted_Connection=yes";            
                string insertSQL;
                DateTime currentTime = DateTime.UtcNow; 
                insertSQL = @"USE **** INSERT INTO ***** (";
                insertSQL += "Node_Name, Event, Solution, Time) ";
                insertSQL += "VALUES ('";            
                insertSQL += DropDownList_Nodes.SelectedItem.ToString()  + "', '";
                insertSQL += TextBox_Event.Text + "', '";
                insertSQL += TextBox_Solution.Text + "', '";
                insertSQL += currentTime + "')";
    
                SqlConnection sql_connection = new SqlConnection(connectionString);
                SqlCommand sql_command = new SqlCommand(insertSQL, sql_connection);
    
                int added = 0;//counter for rows inserted to DB
                try
                {                
                    sql_connection.Open();
                    added = sql_command.ExecuteNonQuery();
                    Label_Info.Text = added.ToString() + " records inserted.";
                }
                catch(Exception error)
                {
                    Label_Info.Text = error.Message;                
                }
                finally
                {
                    sql_connection.Close();
                    sql_connection.Dispose();
                }
                 
            }//end Submit_Click
            protected void FillListBox()
            {
                string connectionString = @"data source=****;initial catalog=****;user id=****;" +
                        "password=****;packet size=4096;persist security info=False;connect timeout=30000; Trusted_Connection=yes";
                
                DropDownList_Nodes.Items.Clear();
                string selectSQL = @"USE **** SELECT ***, *** FROM *** ORDER BY ***";
    
                SqlConnection sql_connection = new SqlConnection(connectionString);
                SqlCommand sql_command = new SqlCommand(selectSQL, sql_connection);
                SqlDataReader sql_reader;
                  try
                {                
                    sql_connection.Open();
                    sql_reader = sql_command.ExecuteReader();
                    while (sql_reader.Read())
                    {
                        ListItem newitem = new ListItem();
                        newitem.Text = sql_reader["****"].ToString();
                        newitem.Value = sql_reader["****"].ToString();
                        DropDownList_Nodes.Items.Add(newitem);
                    }//end while
                    sql_reader.Close();
                    sql_reader.Dispose();
                }//end try
                catch(Exception error)
                {
                    Label_Info.Text = error.Message;               
                }
                finally
                {
                    sql_connection.Close();
                    sql_connection.Dispose();
                }
            }//end FillListBox
      	public override void VerifyRenderingInServerForm(Control control)
            {
                return;
            }
        }//end public partial class _Default : System.Web.UI.Page
    }//end namespace OrionNodeEvent
    
    // ASP PAGE ***************************************
    
    <%@  Language="C#"  AutoEventWireup="true"
        CodeBehind="OrionNodeEvent.aspx.cs" Inherits="OrionNodeEvent._Default" Src="OrionNodeEvent.aspx.cs" %>    
    
        <html>
        <head>
        <title>Orionz</title>
        </head>
        <body>
    
        <h2>Select a Node to add an event and resolution.</h2>   
        <p><asp:DropDownList ID="DropDownList_Nodes" runat="server"></asp:DropDownList></p>
       <p><strong>Event</strong><asp:TextBox ID="TextBox_Event" runat="server" style="margin-left: 25px" 
                Width="500px" Height="150px" TextMode="MultiLine" MaxLength="8000"></asp:TextBox></p>
       <p><strong>Solution</strong><asp:TextBox ID="TextBox_Solution" runat="server" 
                style="margin-left: 10px" Width="500px" Height="150px" TextMode="MultiLine" MaxLength="8000"></asp:TextBox> </p>         
       <p><asp:Button ID="Button_Submit" runat="server" Text="Submit" OnClick="Submit_Click"/></p>
        <p><asp:Label ID="Label_Info" runat="server" Text="" ></asp:Label> </p>
        </body>
        </html>
    
    

Answers

  • User397255882 posted

    SOLVED:

    Added these control statements to the Default.aspx.cs:

    protected global::System.Web.UI.HtmlControls.HtmlForm form1;
    protected System.Web.UI.WebControls.Label Label_Info; 
    protected System.Web.UI.WebControls.DropDownList DropDownList_Nodes;
    protected System.Web.UI.WebControls.TextBox TextBox_Event;
    protected System.Web.UI.WebControls.TextBox TextBox_Solution;
    protected System.Web.UI.WebControls.Button Button_Submit;

    The server was ignoring the designer file.

    Now it loads!

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

как узнать имя сцены в которой находишься ?

как узнать имя сцены в которой находишься ?

я хочу узнать название сцены и использовать это в условии if
нашел что-то «SceneManager.GetActiveScene().name» вот , но как сделать чтобы было так if (SceneManager.GetActiveScene().name==main)

kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: как узнать имя сцены в которой находишься ?

Сообщение 1max1 27 июн 2018, 12:41

что такое main? имя сцены это строка, вот строки и сравнивай

Аватара пользователя
1max1
Адепт
 
Сообщения: 5285
Зарегистрирован: 28 июн 2017, 10:51

Re: как узнать имя сцены в которой находишься ?

Сообщение kirya_355 27 июн 2018, 12:57

1max1 писал(а):что такое main? имя сцены это строка, вот строки и сравнивай

main это название сцены , как их стравнить ,

Используется csharp

public string main;
void Start(){

if(SceneManager.GetActiveScene().name!=main){
……}

}

так что-ли,

kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: как узнать имя сцены в которой находишься ?

Сообщение 1max1 27 июн 2018, 13:17

Ну да)) Странный вопрос если честно, можешь еще через string.Equals сравнивать, но это уже слишком пафосно я думаю :D

Аватара пользователя
1max1
Адепт
 
Сообщения: 5285
Зарегистрирован: 28 июн 2017, 10:51

Re: как узнать имя сцены в которой находишься ?

Сообщение kirya_355 27 июн 2018, 13:19

1max1 писал(а):Ну да)) Странный вопрос если честно, можешь еще через string.Equals сравнивать, но это уже слишком пафосно я думаю :D

но unity ругается на это

error CS0103: The name `SceneManager’ does not exist in the current context

kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: как узнать имя сцены в которой находишься ?

Сообщение 1max1 27 июн 2018, 13:30

может пространство имен не добавил просто
using UnityEngine.SceneManagement;

Аватара пользователя
1max1
Адепт
 
Сообщения: 5285
Зарегистрирован: 28 июн 2017, 10:51

Re: как узнать имя сцены в которой находишься ?

Сообщение kirya_355 27 июн 2018, 13:43

1max1 писал(а):может пространство имен не добавил просто
using UnityEngine.SceneManagement;

спасибо всё работает

вот код кому нужно

Используется csharp

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

 void OnMouseUpAsButton(){
if (SceneManager.GetActiveScene().name != «main»)
                    Application.LoadLevel(«game»);
}

kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 24



Понравилась статья? Поделить с друзьями:
  • Error cs0103 the name input does not exist in the current context
  • Error cs0103 the name facingright does not exist in the current context
  • Error cs0103 the name convert does not exist in the current context
  • Error cs0103 the name console does not exist in the current context
  • Error cs0101 unity