Meu aplicativo Web ASP.NET não pode 'encontrar' nenhuma das minhas classes na pasta app_code ..?
Pergunta
Estou tentando fazer um novo aplicativo da Web ASP.NET. Então, estou copiando meus arquivos de um site para o novo, na mesma solução.
Agora, qualquer uma das minhas aulas no App_Code
Diretório ... eles não estão sendo 'apanhados' pelo resto do meu projeto.
Por exemplo...
\_
\_App_Code
|_ BaseMasterPage.cs (please don't ask why this is in here..)
|_ Utility.cs
|_ FooBar.cs
\_MasterPages
|_ Default.master.cs
// This file errors ;(
namespace Foo.WebSite.MasterPages
{
public partial class Default_master : App_Code.BaseMasterPage
{ ... }
}
namespace Foo.WebSite.App_Code
{
public class BaseMasterPage : MasterPage
{ .. }
}
Não pode encontrar o App_Code.BaseMasterPage
(erro de compilação e intellisência) no Default.master.cs
página.
Gostaria de saber se há algo que preciso verificar em um arquivo web.config? ou no arquivo .prj ou algo assim?
Alguém pode ajudar por favor? Isso está me matando :(
Atualizar
Eu tenho tentado constantemente mais e mais coisas aqui. Eu dei uma olhada nas opções do compilador (na janela de saída) .. e notei a bandeira /alvo, na chamada do compilador ...
eg...
/target:library App_GlobalResources\GlobalResources.designer.cs
App_GlobalResources\GlobalResources.en-au.designer.cs
App_GlobalResources\GlobalResources.it.designer.cs
etc ...
Está faltando todos os meus arquivos .cs da pasta App_code, exceto dois, que posso confirmar aparecer na Intellisence e compilar bem, quando chamados/consumidos.
Wtf? É como o .. Projeto .. não sabe sobre os outros arquivos .CS, mesmo que tenham sido incluídos no projeto (e não são cinzentos, etc.).
O que?!
Por favor, alguém pode ajudar? : ~ (
Solução
Várias suposições:
Tente substituir o espaço para nome
namespace Foo.WebSite.MasterPages
{
public partial class Default_master :
Foo.WebSite.App_Code.BaseMasterPage
{ ... }
}
Ou/e dê uma olhada nas propriedades do arquivo no VS, verifique se eles não estão incorporados a Ressource ou algo desse tipo.
Última coisa dê uma olhada no espaço de nome padrão em seu aplicativo
Outras dicas
No Solution Explorer, clique com o botão direito do mouse no arquivo Class.cs, visualize suas propriedades e defina a ação de construção para 'compilar' em vez de 'conteúdo'