2014-05-02 9 views
5

में संकलित किया गया है, मैंने कुछ मुद्दों को ठीक किया है जो मुख्य रूप से सी #/सी ++ प्रोजेक्ट्स में प्रोजेक्ट पुनर्निर्माण का कारण बनते हैं (नई प्रतिलिपि बनाने के लिए प्रतिलिपि प्रतिलिपि हमेशा बदलें, गायब फाइलों के संदर्भ हटाएं, आदि)। मैंने एमएसबिल्ड आउटपुट को डायग्नोस्टिक में बदलकर और आउटपुट का विश्लेषण करके किया।FSharp प्रोजेक्ट को हर बार VS2013

लेकिन मैं समाधान में बहुत सरल FSharp परियोजनाओं के लिए एक ही कामकाज लागू करने में विफल रहा। आउटपुट मेरे लिए कुछ भी संदिग्ध नहीं दिखाता है। परियोजना ही एक फाइल परियोजना है।

मिनिमल उत्पादन:

1>------ Build started: Project: FSharpProject, Configuration: Debug Any CPU ------ 
1> "C:\Project\Source\.nuget\NuGet.exe" install "C:\Project\Source\FSharpProject\packages.config" -source "" -NonInteractive -RequireConsent -solutionDir "C:\Project\Source\ " 
1> All packages listed in packages.config are already installed. 
1> FSharpProject -> C:\Project\Source\FSharpProject\bin\Debug\FSharpProject.dll 
2>------ Build started: Project: FSharpProject.Tests, Configuration: Debug Any CPU ------ 
2> "C:\Project\Source\.nuget\NuGet.exe" install "C:\Project\Source\FSharpProject.Tests\packages.config" -source "" -NonInteractive -RequireConsent -solutionDir "C:\Project\Source\ " 
2> All packages listed in packages.config are already installed. 
2> FSharpProject.Tests -> C:\Project\Source\FSharpProject.Tests\bin\Debug\FSharpProject.Tests.dll 
========== Build: 2 succeeded, 0 failed, 16 up-to-date, 0 skipped ========== 

निदान उत्पादन विशाल है, लेकिन जैसे कि यह कारणों के पुनर्निर्माण प्रदर्शित नहीं करता है यह लग रहा है।

अद्यतन: सी # और एफ #:

मैं दो परियोजनाओं के साथ एक सरल उपाय बना लिया है।

जबकि सी # प्रोजेक्ट की तारीख अद्यतित है, बिल्डिंग कार्रवाई हर समय एफ # प्रोजेक्ट के लिए निष्पादित की जाती है। क्या यह एफ # परियोजनाओं के लिए सामान्य व्यवहार है?

1>------ Build started: Project: FSharpProject, Configuration: Debug Any CPU ------ 
1>Target "_CheckForInvalidConfigurationAndPlatform" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (entry point): 
1>Target "BeforeBuild" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Build" depends on it): 
1>Target "BuildOnlySettings" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "GetFrameworkPaths" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.NetFramework.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareForBuild" depends on it): 
1>Target "GetReferenceAssemblyPaths" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareForBuild" depends on it): 
1>Target "PrepareForBuild" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "BeforeResolveReferences" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveReferences" depends on it): 
1>Target "AssignProjectConfiguration" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveReferences" depends on it): 
1>Target "_SplitProjectReferencesByFileExistence" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveProjectReferences" depends on it): 
1>Target "ResolveProjectReferences" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveReferences" depends on it): 
1>Target "GetInstalledSDKLocations" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveSDKReferences" depends on it): 
1>Target "ResolveSDKReferences" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveAssemblyReferences" depends on it): 
1>Target "ExpandSDKReferences" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveAssemblyReferences" depends on it): 
1>Target "ResolveAssemblyReferences" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveReferences" depends on it): 
1>Target "AfterResolveReferences" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveReferences" depends on it): 
1>Target "ImplicitlyExpandDesignTimeFacades" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.NetFramework.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResolveReferences" depends on it): 
1>Target "ResolveReferences" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "ValidationExtension" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WorkflowBuildExtensions.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResources" depends on it): 
1>Target "ExpressionBuildExtension" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WorkflowBuildExtensions.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResources" depends on it): 
1>Target "AfterMarkupCompilePass1" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResources" depends on it): 
1>Target "FileClassification" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResources" depends on it): 
1>Target "AssignTargetPaths" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResourceNames" depends on it): 
1>Target "SplitResourcesByCulture" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResourceNames" depends on it): 
1>Target "CreateCustomManifestResourceNames" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResourceNames" depends on it): 
1>Target "PrepareResourceNames" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResources" depends on it): 
1>Target "BeforeResGen" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResGen" depends on it): 
1>Target "CoreResGen" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResGen" depends on it): 
1>Target "AfterResGen" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "ResGen" depends on it): 
1>Target "ResGen" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResources" depends on it): 
1>Target "PrepareRdlFiles" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\ReportingServices\Microsoft.ReportingServices.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CompileRdlFiles" depends on it): 
1>Target "CompileRdlFiles" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\ReportingServices\Microsoft.ReportingServices.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareResources" depends on it): 
1>Target "PrepareResources" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "_SetEmbeddedWin32ManifestProperties" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "SetWin32ManifestProperties" depends on it): 
1>Target "SetWin32ManifestProperties" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "_GenerateCompileInputs" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "GenerateTargetFrameworkMonikerAttribute" in file "C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "BeforeCompile" depends on it): 
1> Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files. 
1>Target "BeforeCompile" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "DesignTimeXamlMarkupCompilation" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Xaml.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreCompile" depends on it): 
1>Target "DesignTimeMarkupCompilation" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreCompile" depends on it): 
1>Target "CoreCompile" in file "C:\Program Files (x86)\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1> Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files. 
1>Target "AfterCompile" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "SetBuildInfoDefaults" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\BuildInfo\Microsoft.VisualStudio.ReleaseManagement.BuildInfo.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "DeleteBuildInfoFile" depends on it): 
1>Target "DeleteBuildInfoFile" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\BuildInfo\Microsoft.VisualStudio.ReleaseManagement.BuildInfo.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "DeleteBuildInfoResource" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\BuildInfo\Microsoft.VisualStudio.ReleaseManagement.BuildInfo.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "AfterCompileWinFX" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "_AfterCompileWinFXInternal" depends on it): 
1>Target "_AfterCompileWinFXInternal" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "CodeContractReferenceAssembly" in file "C:\Program Files (x86)\Microsoft\Contracts\MsBuild\v12.0\Microsoft.CodeContracts.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Compile" depends on it): 
1>Target "Compile" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "_GenerateSatelliteAssemblyInputs" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CreateSatelliteAssemblies" depends on it): 
1>Target "CreateSatelliteAssemblies" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "GetTargetPath" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "_CopyFilesMarkedCopyLocal" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CopyFilesToOutputDirectory" depends on it): 
1>Target "GetCopyToOutputDirectoryXamlAppDefs" in file "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Xaml.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "GetCopyToOutputDirectoryItems" depends on it): 
1>Target "GetCopyToOutputDirectoryItems" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "_CopySourceItemsToOutputDirectory" depends on it): 
1>Target "_CopySourceItemsToOutputDirectory" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CopyFilesToOutputDirectory" depends on it): 
1>Target "_CheckForCompileOutputs" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CopyFilesToOutputDirectory" depends on it): 
1>Target "CopyFilesToOutputDirectory" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "PrepareForRun" depends on it): 
1> FSharpProject -> c:\Projects\TestFSharpBuild\FSharpProject\bin\Debug\FSharpProject.dll 
1>Target "PrepareForRun" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "_CleanGetCurrentAndPriorFileWrites" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "IncrementalClean" depends on it): 
1>Target "IncrementalClean" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "CoreBuild" depends on it): 
1>Target "CoreBuild" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Build" depends on it): 
1>Target "AfterBuild" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (target "Build" depends on it): 
1>Target "Build" in file "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\Projects\TestFSharpBuild\FSharpProject\FSharpProject.fsproj" (entry point): 
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ========== 
+0

शायद आपको http://visualfsharp.codeplex.com –

+0

पर एक बग के रूप में इसकी रिपोर्ट करनी चाहिए। पोस्ट किया गया: https://visualfsharp.codeplex.com/workitem/52 –

+0

मुझे लगता है कि यदि आप टाइप प्रदाता का उपयोग करते हैं तो आपको इस प्रकार का व्यवहार दिखाई देगा। प्रदाता प्रदाता प्रत्येक बार प्रोजेक्ट को पुन: संकलित करने के लिए वीएस को मजबूर करेगा। –

उत्तर

5

यह केवल एक समस्या है कि समग्र निर्माण परिणामों की रिपोर्ट कैसे की जाती है। यह है, भले ही यह कहता है कि यह बनाता है (और एफ # परियोजनाएं "अप-टू-डेट" श्रेणी में गिनती कभी नहीं बढ़ाती हैं) यह वास्तव में कंपाइलर का आह्वान नहीं करती है, या आप fsc.exe के साथ एक लाइन देखेंगे लॉग कहीं कहीं। यह केवल बिल्ड लक्ष्य को आमंत्रित करता है जो तब इस तथ्य का पता लगाता है कि आउटपुट पहले से ही अद्यतित है। यह अभी भी एक बग है, लेकिन एक बहुत महत्वपूर्ण नहीं है ...

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