2008-08-09 11 views
9

दौरान विफल रहता है एक दृश्य स्टूडियो परियोजना के उत्पादन में निर्देशिका बदलने के बाद यह बहुत ज्यादा एक त्रुटि के साथ निर्माण करने में विफल करने के लिए शुरू की तरह:sgen.exe निर्माण

C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin\sgen.exe /assembly:C:\p4root\Zantaz\trunk\EASDiscovery\EASDiscoveryCaseManagement\obj\Release\EASDiscoveryCaseManagement.dll /proxytypes /reference:C:\p4root\Zantaz\trunk\EASDiscovery\EasDiscovery.Common\target\win_x32\release\results\EASDiscovery.Common.dll /reference:C:\p4root\Zantaz\trunk\EASDiscovery\EasDiscovery.Export\target\win_x32\release\results\EASDiscovery.Export.dll /reference:c:\p4root\Zantaz\trunk\EASDiscovery\ItemCache\target\win_x32\release\results\EasDiscovery.ItemCache.dll /reference:c:\p4root\Zantaz\trunk\EASDiscovery\RetrievalEngine\target\win_x32\release\results\EasDiscovery.RetrievalEngine.dll /reference:C:\p4root\Zantaz\trunk\EASDiscovery\EASDiscoveryJobs\target\win_x32\release\results\EASDiscoveryJobs.dll /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Shared.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.Misc.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinChart.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinDataSource.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinDock.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinEditors.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinGrid.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinListView.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinMaskedEdit.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinStatusBar.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinTabControl.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinToolbars.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.UltraWinTree.v8.1.dll" /reference:"C:\Program Files\Infragistics\NetAdvantage for .NET 2008 Vol. 1 CLR 2.0\Windows Forms\Bin\Infragistics2.Win.v8.1.dll" /reference:"C:\Program Files\Microsoft Visual Studio 8\ReportViewer\Microsoft.ReportViewer.Common.dll" /reference:"C:\Program Files\Microsoft Visual Studio 8\ReportViewer\Microsoft.ReportViewer.WinForms.dll" /reference:C:\p4root\Zantaz\trunk\EASDiscovery\PreviewControl\target\win_x32\release\results\PreviewControl.dll /reference:C:\p4root\Zantaz\trunk\EASDiscovery\Quartz\src\Quartz\target\win_x32\release\results\Scheduler.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Design.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.Services.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /compiler:/delaysign- 
    Error: The specified module could not be found. (Exception from HRESULT: 0x8007007E) 
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1902,9): error MSB6006: "sgen.exe" exited with code 1. 

मैं/win_x32/रिलीज लक्षित करने के लिए उत्पादन निर्देशिका बदल/परिणाम लेकिन sgen में पथ अद्यतन नहीं किया गया प्रतीत होता है। इस परियोजना में कोई संदर्भ नहीं है कि sgen में कौन सा पथ पारित किया गया है, इसलिए मुझे यह ठीक नहीं है कि इसे कैसे ठीक किया जाए। एक काम के रूप में मैंने धारावाहिक पीढ़ी को अक्षम कर दिया है लेकिन अंतर्निहित समस्या को ठीक करना अच्छा होगा। क्या किसी और ने यह देखा है?

उत्तर

7

विकल्प के लिए msdn देख sgen.exe करने के लिए [आप आदेश पंक्ति है, तो आप मैन्युअल रूप से इसे साथ खेल सकते हैं ... आपके .XmlSerializers.dll या उपयोग/बल हालांकि नष्ट]

आज मैं भी भर में भाग गया manually specify the sgen options कैसे करें। मैं चाहता था कि यह/प्रॉक्सी स्विच का उपयोग न करे, लेकिन ऐसा प्रतीत होता है कि यह आपको आउटपुट निर्देशिका निर्दिष्ट कर सकता है। मुझे इसे शानदार बनाने के लिए msbuild के बारे में पर्याप्त जानकारी नहीं है, लेकिन यह आपको शुरू करना चाहिए [अपनी पसंद के अपने गैर-दृश्य स्टूडियो संपादक में अपना .csproj/.vbproj खोलें, नीचे देखें और आपको यह पता लगाने में सक्षम होना चाहिए कि कैसे/जहां इस चला जाता है]

[नीचे कोड आपकी सुविधा के लिए सही पर सेट किया UseProxyTypes]

<Target Name="GenerateSerializationAssembliesForAllTypes" 
    DependsOnTargets="AssignTargetPaths;Compile;ResolveKeySource" 
    Inputs="$(MSBuildAllProjects);@(IntermediateAssembly)" 
    Outputs="$(OutputPath)$(_SGenDllName)"> 
    <SGen BuildAssemblyName="$(TargetFileName)" 
     BuildAssemblyPath="$(OutputPath)" References="@(ReferencePath)" 
     ShouldGenerateSerializer="true" UseProxyTypes="true" 
     KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" 
     DelaySign="$(DelaySign)" ToolPath="$(SGenToolPath)"> 
     <Output TaskParameter="SerializationAssembly" 
      ItemName="SerializationAssembly" /> 
    </SGen> 
</Target> 
<!-- <Target Name="BeforeBuild"> 
</Target> --> 
<Target Name="AfterBuild" 
    DependsOnTargets="GenerateSerializationAssembliesForAllTypes"> 
</Target> 
0

मैंने इस विशेष समस्या को नहीं देखा है, लेकिन हाल ही में हमारे लिए "सी 1001: कंपाइलर में एक आंतरिक त्रुटि आई है" cl.exe से टाइप क्रैश कुछ यादृच्छिक और असंबंधित (या तो हमने सोचा) स्थापित करने के बाद तय किया गया था विंडोज सुरक्षा अद्यतन।

हमें पता था कि कोड ने विजुअल स्टूडियो के समान संस्करण और सर्विस पैक स्तर का उपयोग करके अन्य मशीनों पर कंपाइलर को क्रैश नहीं किया था, लेकिन जब हम विंडोज सुरक्षा अद्यतनों की कोशिश करते थे तो हम वास्तव में स्ट्रॉ पर चिपक रहे थे।

0

यह मेरे लिए काफी उचित लग रहा है, जब तक कि कुछ एक 4096 अक्षरों की सीमा लगाने है

मेरे लिए एक 4096 सीमा थोड़ा बेतुका लगता है [आप 4020 पात्रों की सूची], यह 2048 या 32767 या 8192 सामान से होगा मुझे कमांड लाइन सीमाओं की खोज करके मिला है।

0

मैं इस मुद्दे में भाग जब मैं GAC में एक वेब साइट परियोजना पर एक विधानसभा संदर्भित किया था पड़ा है कि चूंकि अनइंस्टॉल किया गया था, और किसी कारण से संदर्भ ने एक सीरियलाइजेशन असेंबली पीढ़ी को ट्रिगर किया, और संदर्भ पर sgen choked (क्योंकि यह अब अस्तित्व में नहीं था)। संदर्भ हटाने और धारावाहिक असेंबली पीढ़ी को बंद करने के बाद, अब मुझे कोई समस्या नहीं थी।

12

आप इस समस्या हो रही है रिलीज मोड यहाँ में अपने VS.NET परियोजना के निर्माण, जबकि समाधान है:

जाओ परियोजना संपत्तियों के लिए और बिल्ड टैब पर क्लिक करें और "उत्पन्न क्रमबद्धता विधानसभा का मान सेट "ड्रॉप डाउन टू" ऑफ "।

Sgen.exe "एक्सएमएल सीरियलाइज़र जेनरेटर एक एक्सएमएल सीरियलाइजेशन असेंबली बनाता है ताकि एक्सएमएलएसरियलाइज़र के स्टार्टअप प्रदर्शन को बेहतर बनाने के लिए निर्दिष्ट किया जा सके जब यह निर्दिष्ट प्रकारों की वस्तुओं को क्रमबद्ध या deserializes।" (MSDN)

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