У меня есть проект веб-развертывания, который создает и заархивирует проект веб-приложения. При построении WDP я получаю много ошибок, а именно:
Ошибка 73 Файл /Foo.csproj/Properties/Administration/Modules/ACL.ascx не существует. /Foo.csproj/Properties/Administration/ACL.aspx
Ошибка 74 Неизвестный тег сервера "foo: ACL". /Foo.csproj/Properties/Administration/ACL.aspx
Эти ошибки исходят от проекта веб-развертывания, а не от WAP. Ошибки всегда следуют одному и тому же шаблону: сначала возникает ошибка при нахождении .ascx, а затем связанная ошибка, говорящая, что тег сервера, связанный с предыдущим ascx, неизвестен (это, очевидно, имеет смысл).
В ascx или aspx нет ошибок или предупреждений.
Элементы управления регистрируются с помощью тега <%@ Register %>
(в отличие от регистрации в web.config)
Что может быть причиной такого симптома?
ОБНОВЛЕНИЕ
Ошибки исходят от aspnet_compiler.exe
, который запускается с помощью следующей команды:
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_compiler.exe -v "/Foo.csproj" -p "C: \ Projects \ Foo \ Foo" -u -f -d obj \ Staging \ TempBuildDir
и выдает следующие ошибки
Утилита для предварительной компиляции приложения ASP.NET
Copyright (C) Microsoft Corporation. Все права защищены. /Foo.csproj/Properties/Administration/ACL.aspx(5): ошибка ASPPARSE: файл '/Foo.csproj/Properties/Administration/Modules/ACL.ascx' не существует.
/Foo.csproj/Properties /Administration/ACL.aspx(7): ошибка ASPPARSE: неизвестный тег сервера 'foo: ACL'.
в Foo.csproj ACL.aspx объявлен как
<Content Include="Administration\ACL.aspx" />
<!-- Snip -->
<Compile Include="Administration\ACL.aspx.cs">
<DependentUpon>ACL.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Administration\ACL.aspx.designer.cs">
<DependentUpon>ACL.aspx</DependentUpon>
</Compile>
и ACL.ascx как
<Content Include="Administration\Modules\ACL.ascx" />
<!-- Snip -->
<Compile Include="Administration\Modules\ACL.ascx.cs">
<DependentUpon>ACL.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Administration\Modules\ACL.ascx.designer.cs">
<DependentUpon>ACL.ascx</DependentUpon>
</Compile>
Я не могу понять, откуда берется /Properties/
элемент путей в путях в ошибке! Его нет в файле проекта и он не передается в aspnet_compiler.exe
.
Файл решения и файлы проекта идентичны (за исключением названий проектов) рабочему решению.