2013-10-11 6 views
6

मैं एक माता पिता निर्देशिका में निर्भरता के लिए खोज करने के लिए मेरी csproj फ़ाइलों स्थापित करने के लिए कोशिश कर रहा हूँ जोड़कर:AssemblySearchPaths का उपयोग कर

<PropertyGroup> 
    <AssemblySearchPaths> 
     ..\Dependencies\VS2012TestAssemblies\; $(AssemblySearchPaths) 
    </AssemblySearchPaths> 
</PropertyGroup> 

मैं सही पहली ItemGroup है जो पहले पिछले PropertyGroup तत्व के रूप में यह जोड़ा सभी संदर्भ घोषणाएं। है वहाँ मेरे प्रोजेक्ट के निर्भरता के लिए खोज करने के लिए जहां के लिए MSBuild बताने के लिए एक आसान तरीका

ResolveAssemblyReferences: 
     Primary reference "Microsoft.CSharp". 
    9>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.CSharp". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. 
For SearchPath "..\Dependencies\VS2012TestAssemblies\". 
       Considered "..\Dependencies\VS2012TestAssemblies\Microsoft.CSharp.winmd", but it didn't exist. 
       Considered "..\Dependencies\VS2012TestAssemblies\Microsoft.CSharp.dll", but it didn't exist. 
       Considered "..\Dependencies\VS2012TestAssemblies\Microsoft.CSharp.exe", but it didn't exist. 

:

दुर्भाग्य से यह अन्य संदर्भों के सभी समाधान करने में विफल करने के लिए, उदाहरण के लिए खड़ी कर रहा है? मुझे एहसास है कि मैं/पी: रेफरेंसपाथ का उपयोग कर सकता हूं, हालांकि मैं सीएसपीआरजे फाइलों में संकलन तर्क खुद को पसंद करता हूं, बजाय टीएफएस टीम बनाता है कि कहां देखना है, यह उल्लेख न करें कि मैं इसे दूसरे पर संकलित करने में सक्षम होना चाहता हूं डेवलपर्स मशीनें

मैंने $ (असेंबलीशर्चपैथ) को सूची में सबसे पहले स्थानांतरित करने का प्रयास किया, लेकिन इससे मदद नहीं मिली।

+0

.... – JohnZaj

उत्तर

10

क्या आप "असेंबली सर्चपैथ" संपत्ति के मूल्य को "पहले रेसोलव संदर्भ" के भीतर बदल सकते हैं और देख सकते हैं कि यह आपकी समस्या हल करता है या नहीं?

<Target Name="BeforeResolveReferences"> 
<CreateProperty 
    Value="..\Dependencies\VS2012TestAssemblies;$(AssemblySearchPaths)"> 
    <Output TaskParameter="Value" 
     PropertyName="AssemblySearchPaths" /> 
</CreateProperty> 
</Target> 
+0

यह काम करता है। यह भी खूब रही। धन्यवाद! क्या असेंबली सर्चपाथ रिकर्सिव बनाना संभव है? तो मेरे पास मेरी सभी निर्भरताओं के लिए एक 'रूट' निर्देशिका हो सकती है लेकिन उन्हें फ़ोल्डर पेड़ में व्यवस्थित किया गया है? – JohnZaj

+2

इस लिंक को देखें http://www.beefycode.com/post/resolving-binary-references-in-msbuild.aspx – Isaiah4110

+0

आखिरी भाग में उन्होंने एक नया लक्ष्य बनाया है जो डीएलएल के – Isaiah4110

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