none
Não consigo acessar uma pasta dentro do projeto. RRS feed

  • Pergunta

  • Bom dia a todos,

    eu criei um projeto no VS2010 do tipo Visual Web Part,

    após isso eu criei três pastas, uma chamada Scripts onde eu adicionei dois plugins do jquery,  outra pasta chamada Styles onde eu adicionei dois arquivos CSS e por último uma pasta de imagens onde eu adicionei umas 6 imagens.

    após isso no código eu referenciei no código os arquivos e quando vou testar, ele não consegue ler os arquivos do projeto. Porém quando eu coloco os arquivo em um local físico, ele consegue. Ex.: "C:\\Imgs\\imagem1.jpg".

    Segue código abaixo:

    //Adicionando o javascript
    LiteralControl[] jsResource = new LiteralControl[2];
                jsResource[0] = new LiteralControl();
                jsResource[0].Text = "<script type='text/javascript' src='Scripts/jquery-1.4.2.js'></script>";
                Page.Header.Controls.Add(jsResource[0]);
    
                jsResource[1] = new LiteralControl();
                jsResource[1].Text = "<script type='text/javascript' src='Scripts/coin-slider.min.js'></script>";
                Page.Header.Controls.Add(jsResource[1]);
    
    //Adicionando os arquivos CSS
    
    HtmlLink css = new HtmlLink();
                css.Attributes["rel"] = "stylesheet";
                css.Attributes["type"] = "text/css";
                css.Href = "Styles/coin-slider-styles.css";
                Page.Header.Controls.Add(css);
    //Exemplo de ler uma imagem
    "img/imagem01.jpg"

    Quem puder ajudar, agradeço desde já.

    Atc,

    André Machado

    quarta-feira, 4 de julho de 2012 13:19

Respostas

  • Olá André,

    Você NÃO deve alterar a estrutura de arquivos (seja adicionando, alterando, excluindo ou qualquer outra coisa), ou seja, acessando os arquivos da pasta "14 hive - rogram files\common files\microsoft shared\web server extensions\14",  do SharePoint. Existem vários motivos para isso, os mais relevantes são:

    1 - Se a sua farm tiver 10 servidores, você vai ter que colocar em todos. E se depois que a aplicação estiver online, aumentarem o número de servidores, esse processo deverá ser feito em todos eles manualmente.

    2 - Essas alterações podem se perder durantes atualizações, manutenção da farm e ainda aumenta, e muito, o overhead administrativo da sua aplicação.

    Para o seu problema, recomendo utilizar os "Mapped Folders" do Visual Studio, veja um exemplo de utilização: http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/03/12/deploying-files-using-mapped-folders.aspx

    Dessa forma, o SharePoint gerenciará automaticamente essas alterações.

    Abraços!


    Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net

    • Marcado como Resposta Andre_Machado quarta-feira, 4 de julho de 2012 18:23
    quarta-feira, 4 de julho de 2012 14:15
    Moderador

Todas as Respostas

  • André,

    De uma olhada nessa solução.
    http://msdn.microsoft.com/en-us/library/ee231567.aspx

    Qualquer dúvida é só perguntar.


    Atenciosamente, Rafael Fausto

    quarta-feira, 4 de julho de 2012 13:47
  • André,

    Coloque os seus arquivos dentro do diretório Layouts que fica na pasta "c:\program files\common files\microsoft shared\web server extensions\14", ele será mapeado automaticamente pelo SharePoint. 

    Se esses arquivos forem específicos de uma feature coloque dentro da pasta da feature ou até faça uma feature com esses recursos. Outra opção é criar uma pasta manualmente e controlar esses arquivos não mão.


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    quarta-feira, 4 de julho de 2012 13:47
    Moderador
  • Olá André,

    Você NÃO deve alterar a estrutura de arquivos (seja adicionando, alterando, excluindo ou qualquer outra coisa), ou seja, acessando os arquivos da pasta "14 hive - rogram files\common files\microsoft shared\web server extensions\14",  do SharePoint. Existem vários motivos para isso, os mais relevantes são:

    1 - Se a sua farm tiver 10 servidores, você vai ter que colocar em todos. E se depois que a aplicação estiver online, aumentarem o número de servidores, esse processo deverá ser feito em todos eles manualmente.

    2 - Essas alterações podem se perder durantes atualizações, manutenção da farm e ainda aumenta, e muito, o overhead administrativo da sua aplicação.

    Para o seu problema, recomendo utilizar os "Mapped Folders" do Visual Studio, veja um exemplo de utilização: http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/03/12/deploying-files-using-mapped-folders.aspx

    Dessa forma, o SharePoint gerenciará automaticamente essas alterações.

    Abraços!


    Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net

    • Marcado como Resposta Andre_Machado quarta-feira, 4 de julho de 2012 18:23
    quarta-feira, 4 de julho de 2012 14:15
    Moderador
  • Rodrigo,

    Soluções Sandbox possuem suporte a Mapped Folders?


    Atenciosamente, Rafael Fausto

    quarta-feira, 4 de julho de 2012 14:38
  • Rafael,

    Soluções sandbox não possuem acesso ao sistema de arquivos do servidor. Vc poderia colocar os scripts, imagens, estilos e outras coisas diretamente dentro do site SharePoint.


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    • Sugerido como Resposta Rafael Fausto quarta-feira, 4 de julho de 2012 14:56
    quarta-feira, 4 de julho de 2012 14:49
    Moderador
  • Rafael,

    Conforme o Fabian disse, não. Você não pode fazer DEPLOY, mas você consegue acessar os que estão lá.

    Você pode criar 2 wsps um Farm Solution para colocar os arquivos e outro Sandbox para acessá-los.

    Uma outra sugestão, nesse caso, é subir os arquivos via Module em uma biblioteca, veja como em:

    http://www.c-sharpcorner.com/uploadfile/anavijai/how-to-deploy-application-page-using-sandbox-solution-in-sharepoint-2010/

    Abraços!


    Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net


    quarta-feira, 4 de julho de 2012 15:16
    Moderador
  • Rodrigo,

    O que vc quis dizer com "Module em uma biblioteca"? O link de referência fala de metadados gerenciados, é isso mesmo?


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    quarta-feira, 4 de julho de 2012 15:34
    Moderador
  • Fabian,

    Sorry! Link errado. Já arrumei ;)

    Obrigado!

    Abraços!


    Rodrigo A. Romano - SharePoint Specialist Microsoft MCP, MCTS e MCITP - http://rodrigoromano.net

    quarta-feira, 4 de julho de 2012 15:37
    Moderador
  • Então,

    No post que publiquei, o link é sobre modules.

    É bem interessante.


    Atenciosamente, Rafael Fausto


    quarta-feira, 4 de julho de 2012 16:59
  • Fabian,

    isso é uma prática recomendada colocar os arquivos lá na pasta do sharepoint?

    quarta-feira, 4 de julho de 2012 17:12
  • Andre,

    A prática é fazer com que sua solução seja inteligente para realizar esse processo automatico. Processo manual não é recomendado.

    Eu faço assim:

    Solução Sandbox > Module

    Solução não Sandbox > Mapped Folders


    Atenciosamente, Rafael Fausto

    quarta-feira, 4 de julho de 2012 17:37
  • Rafael,

    eu fiz aqui uma pasta mapeada e realmente funcionou, obrigado.

    eu pensei que os meus arquivos estariam encapsulados dentro do meu wsp.

    Atc,

    quarta-feira, 4 de julho de 2012 18:23
  • André,

    Os arquivos estão realmente encapsulados dentro do seu wsp. A questão é que no momento da instalação, o wsp envia os arquivos que estão na pasta mapeada para o diretório do SharePoint.

    [Drive]\Program Files\Common files\microsoft shared\web server extensions\14


    Atenciosamente, Rafael Fausto

    quarta-feira, 4 de julho de 2012 18:34
  • André,

    Concordo com o que o Rodrigo e o Rafael falaram, o que vale é fazer de fazer de forma automática para evitar trabalho de criação e manutenção. As formas de module e pastas mapeadas realmente são nas recomendadas.

    Entra aquela história: fazer funcionar é fácil, fazer funcionar direito dá mais trabalho - mas fica direito e vc se incomoda menos


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    quarta-feira, 4 de julho de 2012 18:57
    Moderador