建立Web部署项目时找不到文件

| 我有一个Web部署项目,可以构建和压缩一个Web应用程序项目。生成WDP时,出现很多错误,如下所示:   错误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中没有错误或警告。 使用“ 0”标记注册控件(而不是在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应用程序的实用程序    版权所有(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>
我无法理解错误的路径中路径的“ 4”元素从何而来!它不在项目文件中,也不被馈送到
aspnet_compiler.exe
。 解决方案文件和项目文件与有效的解决方案相同(除了项目名称)。     
已邀请:
我只是在办公桌上的一个项目中遇到了这种情况,这是我的解决方案:
//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
CodeBehind
    
当文件的“ Build Action”设置为
None
而不是
Content
时,我已经看到了类似的内容(我的回忆确实有些朦胧!)。要查看这是否是问题所在: 在解决方案资源管理器中右键单击有问题的文件,然后选择ѭ11 如果文件显示“ 9”,请在\“ Build Action \”中将其更正为“ 10”。 另一种可能是您的ѭ14中出现了“错误”,因为通往ACL.ascx的路径显然很奇怪。真的应该低于
/Foo.csproj/Properties/
吗?如果我的第一个建议没有帮助,我建议尝试以下方法: 在解决方案资源管理器中右键单击
Foo.csproj
,然后选择
Unload Project
卸载完成后,在解决方案资源管理器中右键单击
Foo.csproj (Unavailable)
,然后选择
Edit Foo.csproj
搜索
ACL.ascx
,然后将该文件的XML标记与另一个不会产生错误的\“ good \”文件进行比较,那里可能存在细微差别,从而导致了错误     
我遇到了类似的错误。 我的情况如下:
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(或它的任何名称)时,它才起作用。     
就我而言,我已通过从
MyFile.aspx
文件中删除
CodeFile=\"MyFile.aspx.cs\"
属性来解决了该问题。我认为发生错误是因为ѭ7over属性的优先级高于
MyProject.csproj
中的值
<SubType>ASPXCodeBehind</SubType>
。     

要回复问题请先登录注册