Estou tendo um problema estranho com o VS2010. Usamos o TFS para construir nossas dlls de API e usávamos para referenciá-las em nossos projetos, usando uma unidade de rede mapeada que fosse totalmente confiável. Trabalhamos assim há pelo menos dois anos e tudo funcionou perfeitamente.
Hoje, converti um webapp para vs2010 e quando o compilo no Release, ele me dá:
SGEN: erro: Não foi possível carregar o arquivo ou assembly 'file: /// L: \ Api \ Release API_20100521.1 \ Release \ CS.API.Exceptions.dll' ou uma de suas dependências. A operação não é compatível. (Exceção de HRESULT: 0x80131515)
O estranho é que está funcionando quando está no perfil de depuração ...
Eu tentei adicionar o
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
em app.config e ainda sem sorte (consulte http://social.msdn.microsoft.com/Forums/en/msbuild/thread/d12f6301-85bf-4b9e-8e34-a06398a60df0 e http://msdn.microsoft.com/ en-us / library / dd409252 (VS.100) .aspx )
Tenho certeza de que esse problema é do visual studio ou msbuild, já que nosso código não é executado em um compartilhamento de rede quando em produção porque todas as dlls referenciadas são copiadas para a pasta bin.
Se alguém tiver uma solução (ou apenas uma ideia para um caminho de busca) por favor me avise!
Edit: Acontece que estava funcionando no modo de depuração porque a geração de assemblies de serialização foi desativada. Como o título diz, é realmente um problema SGEN, pois é esse utilitário que diz que o caminho não é confiável ...
Acabei de ter o mesmo problema / semelhante em um servidor de compilação TFS onde uma compilação estava fazendo referência a dll de um compartilhamento de rede.
O problema é que o modelo de política de segurança do CLR v4 mudou desde as versões anteriores e não são montagens de sandbox como antes.
Para corrigir seu problema, basta encontrar a localização de sgen.exe e criar um sgen.exe.config na mesma pasta com o seguinte conteúdo:
sgen.exe geralmente está em
Você pode ler sobre algumas das mudanças em torno das políticas de CAS no .NET 4.0 nesta postagem do blog: Link
fonte
Tive o mesmo problema e a alteração de configuração não funcionou. Somente quando eu desativei Gerar conjunto de serialização nas propriedades do projeto, isso funcionou.
fonte
Eu tive o mesmo erro e descobri que minha DLL estava "bloqueada". Abra a DLL no explorer, clique com o botão direito -> propriedades -> pressione 'Desbloquear'.
http://cantgrokwontgrok.blogspot.com/2009/10/visual-studio-unknown-build-error.html
fonte
Eu tive exatamente esse mesmo problema e resolvi-o adicionando o sgen.exe.config em C: \ Arquivos de programas (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools
com esta configuração simples, como outros disseram
fonte
Para aqueles que estão executando uma versão de 64 bits do serviço de compilação TFS, tive que criar o arquivo de configuração no seguinte caminho:
E o conteúdo do arquivo:
fonte
Tive o mesmo problema, carreguei a montagem no GAC e funcionou
fonte
Adicionar o snippet abaixo ao arquivo app.config funcionou no meu caso. Estou executando o Windows XP, com VS2010 service pack 1.
fonte
Apenas para sua informação, se você estiver executando o Windows 7, o arquivo sgen.exe pode ser encontrado em:
C: \ Arquivos de programas (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools
Tive que criar um sgen.exe.config e colocá-lo lá e esse problema foi embora.
fonte
Nem o
unblock
nem oconfig
funcionou para mim. O que funcionou para mim foi esta dicacaspol
. Eu corriE eu estava pronto para ir, nem mesmo era necessário reiniciar o VisualStudio.
fonte
Tive um problema semelhante e finalmente resolvi removendo o arquivo licens.licx da pasta Propriedades da solução.
fonte
Apenas no caso de como eu, Unblock não foi uma solução, pois Unblock não aparece nas propriedades do meu arquivo dll. Continuei procurando e acabei fechando meu arquivo de solução e abrindo novamente usando a cópia C: local em vez do caminho UNC de rede para o arquivo sln do projeto. Consegui publicar depois de seguir esse caminho.
fonte
No meu caso, um monte de dlls foram bloqueados.
Para desbloquear todos os arquivos na pasta, usei o power shell com o seguinte comando
fonte