Geçenlerde oluştururken MSBuild (komut satırı args ile API veya Executable)VS 2013 MSBuild
Sayı 1. kullanarak dışarıdan oluştururken sorunları sırt sırta neden oldu Visual Studio 2013 geçiş yaptık MSBuild ile Birim Testlerimiz için gerekli olan Sahte meclisleri üretmez, bu da hatalar yaratır. Görsel stüdyonun basit bir yapısı, yeni bir sahte meclisin oluşturulması gerekene kadar bunu geçici olarak düzeltir.
Sayı 2. bu aşağıdaki ile şikayet kod analizi çalıştırırken:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\CodeAnalysis\Microsoft.CodeAnalysis.targets(284,5):
error MSB4127: The "CodeAnalysis" task could not be instantiated from the assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\CodeAnalysis\.\FxCopTask.dll".
Please verify the task assembly has been built using the same version of the Microsoft.Build.Framework assembly as the one installed on your computer and that your host application is not missing a binding redirect for Microsoft.Build.Framework. Unable to cast object of type 'Microsoft.Build.Tasks.CodeAnalysis' to type 'Microsoft.Build.Framework.ITask'.
Ben sadece Visual Studio 2013 benim makinede yüklü olan, görünüşe sorunu düzeltmek olabilir eski bir sürümünü yükleyerek, ama bu Yapabileceğim bir şey değil. (VS 2013 Önceki MSBuild'e farklı bir dizinde bulunan kendi MSBuild 12.0 ile birlikte gönderilir).
Ben
msbuild.exe "path\solution.sln" /property:Configuration=Debug
Bu dizini% VS110COMNTOOLS% almadım. Ayrıca C# MSBuild API'sini kullanıyorum MSBuild yürütülebilir çağrısını değiştirmenin herhangi bir yolunu göremiyorum. VS 2013'te (başarılı bir şekilde çalışıyor) oluşturduğumda, araçlar sürümü geçersiz kılmadığı sürece (4.0'a ayarlı) MSBuild 12'yi çağırdığını varsayalım. – Jack
Tamam, klasör sadece Visual Studio 2012 kuruluysa orada olacaktır. MSBuild'i programlı olarak çağırıyorsanız, araç seti sınıfının ToolsVersion değerini 4.0 http://msdn.microsoft.com/en-us/library/microsoft.build.buildengine.toolset(v=vs.110).aspx olarak ayarlayın. –
ToolsVersion'ı hem bir komut satırı argümanı kullanarak hem de C# API'sindeki araç takımı aracılığıyla ayarlamayı denedim. Ne sorunu düzeltmek için görünmüyor. Ayrıca, sahip olduğum başka bir sorunu gideren "VisualStudioVersion" özelliği ile oynamaya çalıştım. – Jack