我有一個Visual Studio C#解決方案,它由一些項目組成。其中一個項目需要引用另一個不屬於解決方案一部分的項目。如何從解決方案中引用項目?
在開始的時候,我引用的DLL:
<ItemGroup>
<Reference Include="ExternalProj1, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Proj1\ExternalProj1.dll</HintPath>
</Reference>
</ItemGroup>
不過,我必須引用項目,使那些會產生自己的動態鏈接庫。事實上,如果我引用dll並且它們尚未創建,我需要分別構建這些項目。
但是引用時項目:
<ItemGroup>
<ProjectReference Include="..\..\Proj1\ExternalProj1">
<Project>{3341b552-a569-4313-aabc-34452fff60ac}</Project>
<Name>ExternalProj1</Name>
</ProjectReference>
</ItemGroup>
然而,當構建編譯無法找到這些組件。奇怪的是,構建過程報告已成功完成,但錯誤窗口報告一個警告:
無法找到引用的組件ExternalProj。
那麼,我做錯了什麼?謝謝
爲什麼DLL存儲在Proj1 \ ExternalProj1.dll而不是Proj1 \ Bin \ Release \ ExternalProj1.dll中?你是否正確記錄了這個問題? – 2014-10-11 11:29:04
您不能引用不屬於您的解決方案的項目;你只能參考它的輸出組件。 – 2014-10-11 11:31:23
@ThomasLevesque你當然可以! 「解決方案」是一個海市蜃樓。項目通過文件名引用具有「ProjectReference」的其他項目。事實上,他們的工作,當你完全拋棄sln文件應該告訴你一些事情。 (注意,他使用'ProjectReference',而不是'Reference',我沒有直接經驗) – 2014-10-11 18:59:25