2011-05-16 40 views
7

我有一个构建和压缩Web应用程序项目的Web部署项目。我在构建WDP时遇到很多错误,如下所示:构建Web部署项目时未找到文件

错误73文件'/Foo.csproj/Properties/Administration/Modules/ACL.ascx'不存在。 /Foo.csproj/Properties/Administration/ACL.aspx

错误74未知的服务器标记'foo:ACL'。 /Foo.csproj/Properties/Administration/ACL.aspx

这些错误来自Web部署项目,而不是WAP。 错误总是遵循相同的模式,首先有一个错误发现.ascx,然后一个关联的错误,说与前一个ascx相关的服务器标签是未知的(这显然是有道理的)。

ascx或aspx中没有错误或警告。

的控件使用<%@ Register %>标签(而不是在web.config被注册)

什么引起这样的症状注册?


UPDATE

的错误是从与下面的命令来运行aspnet_compiler.exe未来:

C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ aspnet_compiler.exe -v“/Foo.csproj”-p“C:\ Projects \ Foo \ Foo”-u -f -d obj \ Staging \ TempBuildDir

,并产生下列错误

实用预编译ASP.NET应用程序
版权所有(C)微软公司。版权所有。 /Foo.csproj/Properties/Administration/ACL.aspx(5):error ASPPARSE:文件'/Foo.csproj/Properties/Administration/Modules/ACL.ascx'不存在。
/Foo.csproj/Properties/Administration/ACL.aspx(7):error 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

解决方案文件和项目文件与工作解决方案相同(除项目名称外)。

回答

2

我见过的东西类似这个(我的回忆是不可否认几分朦胧!)当“建设行动”为文件设置为None,而不是Content。要看到,如果是这样的问题:在这的问题,在解决方案资源管理器中的文件

  1. 单击鼠标右键,并选择Properties
  2. 看“构建行动”的文件,如果它说None正确它到Content

另一种可能性是,在您的.csproj中出现了一些“错误”,因为ACL.ascx的路径看起来很奇怪。它应该真的/Foo.csproj/Properties/?如果我的第一个建议是没有帮助的,我建议尝试以下操作:

  1. Foo.csproj在Solution Explorer一旦它完成卸载右键单击并选择Unload Project
  2. ,对Foo.csproj (Unavailable)在解决方案资源管理器中右击并选择Edit Foo.csproj
  3. 搜索ACL.ascx和该文件的XML标记的数据进行比较“好”的文件,该文件是不产生错误,有”可能是一个微妙的差异存在,这是造成错误
+0

是的,在.. ./Properties/...确实看起来很奇怪,但我在任何项目文件中都看不到这样的路径。我会继续挖掘。欢呼的思想 – 2011-05-16 13:41:17

1

我收到了类似的错误。

我的情况是以下几点:

root/page.aspx 
root/page.aspx.cs 
root/page.aspx.designer.cs 
root/X/page.aspx 

出于某种原因有人复制page.aspx文件复制到X文件夹,甚至可以从我的web应用程序项目删除,部署项目仍然有问题的文件。我还注意到,即使使用不同的名称(例如x文件夹中的page.aspx副本,问题仍然会出现)。

它只有当我从X文件夹中删除文件page.aspx(或其他任何名称)时才起作用。

8

我只是碰到这种同样的情况进来一个项目,在我的办公桌上,这里是我的解决方案:

//doesn't work 
<%@ Control Language="C#" 
    AutoEventWireup="true" 
    Inherits="Controls_CatalogCustomerORW" 
    CodeFile="CatalogCustomerORW.ascx.cs" %> 

//does work 
<%@ Control Language="C#" 
    AutoEventWireup="true" 
    Inherits="Controls_CatalogCustomer" 
    Codebehind="CatalogCustomer.ascx.cs" %> 

的错误似乎日益微妙CodeFile VS CodeBehind

相关问题