Articles of msbuild

BuildActivity ignora a ToolsVersion

Eu tenho uma construção de continuous integration em execução em um BuildAgent que não consigo trabalhar corretamente. Recentemente, mudei nossa codebase para C # 6.0 e mudei os projetos para ToolsVersion 14. Eu instalei o Visual Studio 2015 no Build Server (TFS 2012). Se eu fizer agora check-in no código C # 6.0 a compilation […]

Existe uma maneira de include automaticamente arquivos de conteúdo no arquivo do projeto asp.net?

Eu estou freqüentemente adicionando um monte de arquivos de conteúdo (principalmente imagens e js) ao meu projeto ASP.NET. Estou usando o sistema de publicação do VS e, na publicação, novos arquivos não são publicados até que eu os inclua no projeto. Eu gostaria de include automaticamente todos os arquivos no diretório especificado. Existe uma maneira […]

Executando MSBuild Falha ao ler SDKToolsPath

Olá, estou tendo um problema ao executar um script NAnt que costumava construir meu site baseado em .Net 2.0, quando compilando com o VS2008 e suas ferramentas associadas. Recentemente, atualizei todos os arquivos de projeto / solução para o VS2010 e agora minha compilation falha com o seguinte erro: [exec] C: \ Windows \ Microsoft.NET […]

Devo compilar com / MD ou / MT?

No Visual Studio, há os flags de compilation / MD e / MT que permitem escolher qual tipo de biblioteca de tempo de execução C você deseja. Eu entendo a diferença na implementação, mas ainda não tenho certeza qual deles usar. Quais são os prós / contras? Uma vantagem para / MD que eu ouvi, […]

Como posso instalar a versão VS2017 do msbuild em um servidor de compilation sem instalar o IDE?

Historicamente, isso foi feito com o Microsoft Build Tools . Mas parece que as Ferramentas de Construção podem não estar disponíveis para versões posteriores a 2015 . A substituição parece ser as ferramentas de criação do Visual Studio, que ainda não parecem ter uma página inicial real. Eu baixei o instalador do VS2017 Professional e […]

erro LNK2038: incompatibilidade detectada para ‘_MSC_VER’: valor ‘1600’ não corresponde ao valor ‘1700’ em CppFile1.obj

Eu estava convertendo meus projetos de VS2010 para VS2012.Mas estou recebendo um erro de vinculador _MSC_VER em determinados projetos. Depois de um longo surfe pelo google descobri que a questão é devido à binding de uma biblioteca criada no VS2010 para o VS2012. Como posso descobrir qual projeto está causando o erro? Aqui estou citando […]

Como publicar Web com msbuild?

O Visual Studio 2010 possui um comando Publicar que permite publicar seu Projeto de Aplicativo da Web em um local do sistema de arquivos. Eu gostaria de fazer isso no meu servidor de compilation TeamCity, então eu preciso fazê-lo com o runner de solução ou msbuild. Eu tentei usar o destino Publish, mas acho que […]

Microsoft.WebApplication.targets não foi encontrado, no servidor de compilation. Qual é a sua solução?

Tentando construir meu projeto no servidor de compilation me dá o seguinte erro: Microsoft (R) Build Engine Version 4.0.30319.1 error MSB4019: The imported project “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets” was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. error MSB4019: The imported project “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets” was […]

Detectar versão do framework de destino em tempo de compilation

Eu tenho algum código que faz uso de methods de extensão, mas compila em .NET 2.0 usando o compilador no VS2008. Para facilitar isso, eu tive que declarar ExtensionAttribute: /// /// ExtensionAttribute is required to define extension methods under .NET 2.0 /// public sealed class ExtensionAttribute : Attribute { } No entanto, eu gostaria agora […]

Compilação Condicional e Metas de Framework

Existem alguns poucos locais em que o código do meu projeto pode ser drasticamente melhorado se a estrutura de destino fosse uma versão mais recente. Eu gostaria de ser capaz de aproveitar melhor a compilation condicional em C # para alterá-los conforme necessário. Algo como: #if NET40 using FooXX = Foo40; #elif NET35 using FooXX […]