Вызов неоднозначен между следующими методами или свойствами (ошибка??)

Это зависит от контекста, но здесь является примером "-и" в действии:

get-childitem | where-object { $_.Name.StartsWith("f") -and $_.Length -gt 10kb }

Таким образом, это получает все файлы, больше, чем 10 КБ в каталоге, имя файла которого запускается с "f".

33
задан 8 revs, 3 users 87% 15 March 2013 в 18:12
поделиться

1 ответ

Проекты MVC, созданные в Visual Studio, по умолчанию используют модель проекта веб-приложения. App_Code в основном используется моделью веб-сайта. Я предлагаю прочитать о различиях между ними ( другой вопрос касается этого , и он также широко освещен в MSDN). Если вы добавите исходный файл в App_Code в проекте веб-приложения, Visual Studio скомпилирует его в DLL (поскольку он включен в проект) и поместит в / bin . Во время выполнения компилятор ASP.NET видит App_Code и пытается скомпилировать исходный код в другой сборке. Как следствие, два отдельных класса с одинаковыми именами будут существовать в двух разных сборках, и когда синтаксический анализатор ASP.NET попытается скомпилировать файл .aspx , он не сможет выбрать один.

Обновление:

Эти два (метод расширения и класс, экземпляр которого вы создаете) находятся в одном файле .cs? В противном случае, вероятно, класс, который вы создаете, находится в исходном файле с Build Action (щелкните файл правой кнопкой мыши, щелкните свойства), установленным на Content , что указывает Visual Studio пропустить его в процесс сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, находящихся за пределами App_Code , но вы сможете использовать его в представлении, так как он будет только к жизни во время выполнения.) Если действие сборки - Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

Находятся ли эти два (метод расширения и создаваемый вами класс) в одном файле .cs? В противном случае, вероятно, класс, который вы создаете, находится в исходном файле с Build Action (щелкните файл правой кнопкой мыши, щелкните свойства), установленным на Content , что указывает Visual Studio пропустить его в процесс сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, находящихся за пределами App_Code , но вы сможете использовать его в представлении, так как он будет только к жизни во время выполнения.) Если действие сборки - Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

Находятся ли эти два (метод расширения и создаваемый вами класс) в одном файле .cs? В противном случае, вероятно, класс, который вы создаете, находится в исходном файле с Build Action (щелкните файл правой кнопкой мыши, щелкните свойства), установленным на Content , что указывает Visual Studio пропустить его в процесс сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, находящихся за пределами App_Code , но вы сможете использовать его в представлении, так как он будет только к жизни во время выполнения.) Если действие сборки - Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

повторное создание экземпляра) в одном файле .cs? В противном случае, вероятно, класс, который вы создаете, находится в исходном файле с Build Action (щелкните файл правой кнопкой мыши, щелкните свойства), установленным на Content , что указывает Visual Studio пропустить его в процесс сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, находящихся за пределами App_Code , но вы сможете использовать его в представлении, так как он будет только к жизни во время выполнения.) Если действие сборки - Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

повторное создание экземпляра) в одном файле .cs? В противном случае, вероятно, класс, который вы создаете, находится в исходном файле с Build Action (щелкните файл правой кнопкой мыши, щелкните свойства), установленным на Content , что указывает Visual Studio пропустить его в процесс сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, находящихся за пределами App_Code , но вы сможете использовать его в представлении, так как он будет только к жизни во время выполнения.) Если действие сборки - Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

повторное создание экземпляра находится в исходном файле с Действие сборки (щелкните файл правой кнопкой мыши, щелкните свойства), для которого установлено значение Содержимое , что указывает Visual Studio пропустить его в процессе сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, которые находятся за пределами App_Code , но вы сможете использовать его в представлении, поскольку он оживает только во время выполнения.) Если действие сборки Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

повторное создание экземпляра находится в исходном файле с Действие сборки (щелкните файл правой кнопкой мыши, щелкните свойства), для которого установлено значение Содержимое , что указывает Visual Studio пропустить его в процессе сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, которые находятся за пределами App_Code , но вы сможете использовать его в представлении, поскольку он оживает только во время выполнения.) Если действие сборки Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

click properties) установлено значение Content , что указывает Visual Studio пропустить его в процессе сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, находящихся за пределами App_Code , но вы сможете использовать его в представлении, поскольку он оживает только во время выполнения.) Если действие сборки - Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

click properties) установлено значение Content , что указывает Visual Studio пропустить его в процессе сборки (в этом случае вы не сможете ссылаться на него в других файлах .cs, находящихся за пределами App_Code , но вы сможете использовать его в представлении, поскольку оно оживает только во время выполнения.) Если действие сборки - Compile , вы получите сообщение об ошибке. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

Получу ошибку. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

Получу ошибку. Проблема определенно не связана с методами расширения. Visual Studio, кажется, достаточно умен, чтобы установить его в Content по умолчанию для исходных файлов, добавленных в App_Code .

47
ответ дан 27 November 2019 в 18:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: