Есть ли шанс, что вы конвертировали его в веб-приложение с веб-сайта? Иногда я видел эту проблему, вызванную преобразованием.
Первая строка вашего файла VDS.master, вероятно, выглядит примерно так:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="VDS.master.cs" Inherits="VDS" %>
Проблема, по крайней мере в моем случае, заключалась в том, что он использовал атрибут CodeFile
вместо CodeBehind
. Если ваш проект действительно является веб-приложением и ваша строка содержит CodeFile
, вам нужно изменить его на CodeBehind
, чтобы он выглядел примерно так:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="VDS.master.cs" Inherits="VDS" %>
Причина ошибки заключается в способе обработки этих двух атрибутов:
- CodeBehind: необходимо скомпилировать
до развертывания и
скомпилированная сборка кладется в корзину
папка вашего сайта.
- CodeFile: вы развертываете исходный код, и он компилируется
как это нужно. Скомпилированный
собрание помещается во временный
Папка ASP.NET.
Если ваш проект является веб-приложением, но использует атрибут CodeFile, он в конечном итоге будет скомпилирован вами, а затем скомпилирован во время выполнения, что приведет к двум разным сборкам, которые содержат определения для одних и тех же классов. Тогда все взрывается.