2012-09-13 14 views
5

टीएफएस 2010 पर मैंने कुछ सीआई बिल्डों को कॉन्फ़िगर किया जो एमएसटीएस्ट यूनिट परीक्षण भी चलाते हैं। यह ठीक काम करता है, एक ही समाधान है, जहां मैं आमतौर पर (लेकिन हमेशा नहीं) निर्माण (नहीं परीक्षण धावक) त्रुटि निम्न मिल को छोड़कर:माइक्रोसॉफ्ट में MSBuild NullReferenceException.TeamTest.targets

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamTest\Microsoft.TeamTest.targets (14): Object reference not set to an instance of an object.

परिभाषा बिल्ड की Logging VerbosityDiagnostic को तैयार है। Some social.msdn.com posts इस बहुत ही कभी-कभी त्रुटि से छुटकारा पाने के लिए यह सुझाव देता है। यदि कभी-कभी, वैसे भी, हम उपरोक्त कारण के लिए टूटा हुआ है, तो हम एक और निर्माण शेड्यूल करके इसके आसपास काम कर सकते हैं। हालांकि, यह भी निर्माण करने के लिए काफी समय नहीं लेता है।

भले ही यह एक बिल्ड त्रुटि है, इसे Disable Tests से True पर सेट करके तय किया जा सकता है। हालांकि, मैं परीक्षण चलाने के लिए चाहता हूँ। क्या कोई जनता है कि यह कैसे ठीक किया जाता है? अन्य (कामकाजी) समाधान अक्सर All Projects की परियोजनाओं के उप-समूह होते हैं। All Project एक बड़ा समाधान है।

मैं यहाँ छोटा MSBuild आउटपुट है, के मामले में यह मदद करता है:

Run MSBuild for Project 
Initial Property Values 
AdditionalVCOverrides = 
CommandLineArguments = /p:SkipInvalidConfigurations=true 
Configuration = Release 
GenerateVSPropsFile = True 
LogFile = 
LogFileDropLocation = 
MaxProcesses = 1 
OutDir = All Projects-CI\Binaries\Release 
Platform = Any CPU 
Project = All Projects-CI\Sources\Shared\All Projects.sln 
ResponseFile = 
RunCodeAnalysis = AsConfigured 
Targets = 
TargetsNotLogged = String[] Array 
ToolPath = 
ToolPlatform = Auto 
Verbosity = Diagnostic 
Built $/.../DataAccessLayer.Testing.csproj for default targets. 

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamTest\Microsoft.TeamTest.targets (14): Object reference not set to an instance of an object. 
+0

आप में निजी पहुंचकर्ता मिला है आपने जिस समाधान का उल्लेख किया है? सबकुछ यह इंगित करता है कि यह त्रुटि संदेश निजी एक्सेसर्स तक पहुंचने से संबंधित है, इसलिए यदि उनकी आवश्यकता नहीं है तो आप उन्हें हटा सकते हैं। या शायद उन्हें पुन: उत्पन्न करने का प्रयास करें http://msdn.microsoft.com/en-us/library/ms184796%28v=vs.80%29.aspx –

उत्तर

0

MSBuild \ Microsoft \ VisualStudio में BuildShadowTask कस्टम कार्य \ v10.0 \ TeamTest \ Microsoft.TeamTest.targets त्रुटि पैदा यही कारण है कि । जब आप परीक्षण को निष्क्रिय करते हैं तो त्रुटि को नहीं देखते हैं, तो परीक्षण कार्य अक्षम होने पर यह कार्य कार्य नहीं चलाया जाता है।

विभिन्न मानों को आउटपुट करने के लिए एमएसबिल्ड संदेश कार्यों को जोड़ने का सुझाव यह निर्धारित करने के लिए कि "ऑब्जेक्ट संदर्भ किसी ऑब्जेक्ट के उदाहरण पर सेट नहीं है" त्रुटि उत्पन्न कर रहा है।

इस लाइन से पहले:

<BuildShadowTask 
     ExecuteAsTool="False" 
     CurrentResolvedReferences="@(ReferencePath)" 
     CurrentCopyLocalFiles="@(ReferenceCopyLocalPaths)" 
     Shadows="@(Shadow)" 
     ProjectPath="$(ProjectDir)" 
     IntermediatePath="$(IntermediateOutputPath)" 
     SignAssembly="$(SignAssembly)" 
     KeyFile="$(AssemblyOriginatorKeyFile)" 
     DelaySign="$(DelaySign)"> 

निर्धारित करने के लिए जो एक उत्पादन के लिए एक संदेश कार्य जोड़ें प्रत्येक पैरामीटर BuildShadowTask के लिए पारित के मूल्यों गलती से हुआ है:

<Message Text="AssemblyOriginatorKeyFile $(AssemblyOriginatorKeyFile)" Importance="High" /> 

 संबंधित मुद्दे