2010-08-30 15 views
5

यह वीएस -2010 के तहत एक विंडोज़ फॉर्म प्रोजेक्ट के लिए है।त्रुटि RG0000: फ़ाइल या असेंबली 'xxx' या इसकी निर्भरताओं में से कोई लोड नहीं हो सका। एक्सेस अस्वीकार कर दिया गया है

c:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/msbuild.exe BackOffice.csproj /p:PlatformTarget=x86 

लाइन resx फ़ाइल के 174 कि त्रुटि के लिए जिम्मेदार ठहराया गया था:

error RG0000: Could not load file or assembly '3rdPartyAssemblyUsedByProject, Version=1.1.263.0, Culture=neutral, PublicKeyToken=687bce93d7ce902c' or one of its dependencies. Access is denied. Line 174 , position 5. [C:\xxx\src\BackOffice.csproj]

यहाँ आदेश इस शुरू करने के लिए इस्तेमाल लाइन है:

यहाँ संदेश मैं MSBuild से मिलता है :

<data name="generalImages.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64"> 
    <value> 
     ... 
    </value> 
    </data> 

सामान्य छवि फॉर्म पर बटन के लिए उपयोग की गई छवियों के साथ एक छविसूची नियंत्रण है।

यह मेरी देव मशीन पर ठीक काम करता है, लेकिन मेरे निर्माण सर्वर पर एक समस्या है। मेरा वर्कस्टेशन विंडोज 7 64-बिट है, बिल्ड सर्वर विंडोज 2008 सर्वर 64-बिट है। बिल्ड सर्वर में विंडोज 7.1 एसडीके स्थापित है।

यदि मैं v3.5 ढांचे से msbuild का उपयोग करता हूं, तो संकलन सफलतापूर्वक पूर्ण हो जाता है। मुझे यह चेतावनी संदेश मिलता है जो मुझे इस बिंदु पर कोई समस्या नहीं पहुंचा रहा है: प्रोजेक्ट फ़ाइल में ToolsVersion = "4.0" है, जो MSBuild के इस संस्करण द्वारा समर्थित नहीं है। प्रोजेक्ट का इलाज करना जैसे कि इसमें टूल्सवर्सन = "3.5" था।

इसका मुख्य कारण 4.0 फ्रेमवर्क को वास्तव में लक्षित करना है और विधि डिफ़ॉल्ट जैसे चीजों का उपयोग करना है, जो 3.5 को लक्षित करते समय काम नहीं करते हैं।

मैंने इस पर खोज और खोज की है। मैं 32-बिट/64-बिट मुद्दों से संबंधित कई हिट में आया हूं - जहां छवि प्रारूप समस्या है, लेकिन यह मेरी समस्या नहीं है। यह त्रुटि कहती है "एक्सेस अस्वीकार कर दी गई है"। मैंने fuslogvw का उपयोग यह पता लगाने के लिए किया था कि पहुंच से इनकार किया गया था - लेकिन मुझे यह नहीं देख रहा है कि यह है, लेकिन वास्तव में यह कोई असेंबली नहीं ढूंढ रहा है। असेंबली जीएसी में नहीं है, लेकिन परियोजना फ़ाइल में एक स्पर्शिक निर्देशिका में जहां परियोजना फ़ाइल संदर्भ है।

यहाँ संलयन लॉग है:

* Assembly Binder Log Entry (8/30/2010 @ 1:44:48 PM) *

The operation failed. Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll Running under executable C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\ResGen.exe --- A detailed error log follows.

=== Pre-bind state information === LOG: User = domain\user LOG: DisplayName = 3rdPartyAssemblyUsedByProject, Version=1.1.263.0, Culture=neutral, PublicKeyToken=687bce93d7ce902c (Fully-specified) LOG: Appbase = file:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = NULL Calling assembly : System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\ResGen.exe.Config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config. LOG: Post-policy reference: 3rdPartyAssemblyUsedByProject, Version=1.1.263.0, Culture=neutral, PublicKeyToken=687bce93d7ce902c LOG: GAC Lookup was unsuccessful. LOG: Attempting download of new URL file:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.DLL. LOG: Attempting download of new URL file:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.DLL. LOG: Attempting download of new URL file:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.EXE. LOG: Attempting download of new URL file:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.EXE. LOG: All probing URLs attempted and failed.

इस बिंदु पर - मैं स्टम्प्ड रहा हूँ। सुनिश्चित नहीं है कि आगे कहाँ जाना है। किसी भी सलाह का स्वागत किया जाएगा।

कॉर्ट

उत्तर

0

टीम निर्माण सेवा खाते के तहत चलता है। क्या आपने जांच की है कि क्या इस खाते के पास प्रोग्राम फाइल स्थान तक पहुंच है जहां तीसरी पार्टी असेंबली स्थित है?

+0

मैं इसे मैन्युअल रूप से कमांड लाइन से चला रहा हूं। मैंने सत्यापित किया है कि मेरे पास तीसरी पार्टी असेंबली है, जिस उपयोगकर्ता के रूप में मैं लॉग इन हूं, फ़ाइल पर पूर्ण नियंत्रण है और फ़ाइल का मालिक है। – Cort

+0

... जैसा कि मैंने अपने संलयन लॉग को शामिल करने से दिखाने की कोशिश की - असेंबली वास्तव में कभी नहीं मिली - यह स्थान csproj फ़ाइल के स्थान से ../lib/3rdpartyassembly.dll में है। – Cort

+0

आप डीएल के साथ/p के स्थान निर्दिष्ट कर सकते हैं: संदर्भपैथ = " \ "। –

1

मुझे ResGen के साथ एक ही समस्या थी: त्रुटि RG0000: संदर्भित असेंबली लोड नहीं कर सका। मेरे मामले में यह पता चला कि समाधान में प्रोजेक्ट फाइलों में से एक को vs2010 में सही ढंग से अपग्रेड नहीं किया गया था। एक बार जब मैं 4.0 के टूल संदर्भों को ठीक करता हूं तो यह सही ढंग से काम करता है।

3

यह here on blogs.msdn.com वर्णित ज्ञात वीएस 2010 बग की तरह दिखता है। यदि ऐसा है, ऐसा लगता है कि माइक्रोसॉफ्ट ने जल्द ही विजुअल स्टूडियो 11 तक इसे ठीक नहीं करने का फैसला किया है, और कई लोगों के लिए (हमारे सहित: |) पोस्ट काम में उल्लिखित कोई भी कामकाज नहीं है। इतनी अच्छी किस्मत।

0

मुझे इस MSDN blog में वर्णित सटीक समस्या का सामना करना पड़ा जैसा कि @ जोएल द्वारा दिए गए जवाब में बताया गया है। कामकाज पोस्ट करने के बारे में सोचने के लिए जो दूसरों के लिए समय बचाने के लिए काम करता है क्योंकि मैंने समाधान के लिए आधे दिन का उपयोग किया था।

मेरे द्वारा उपयोग किए जाने वाले कार्यवाही पर उस ब्लॉग पोस्ट के टिप्पणी अनुभागों पर चर्चा की गई है जो जे 00 एल की खोज करना है और इसे आरएक्सएक्स होने वाली त्रुटि में j0yL के साथ प्रतिस्थापित करना है। फ़ाइलें। इस कामकाज का बुरा पक्ष आपको रेक्स को संपादित करने की आवश्यकता होगी। जब भी आप कल्पनावादी में परिवर्तन करते हैं तो फ़ाइल करें।

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

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