簡體   English   中英

在Visual Studio C#解決方案中將DLL引用替換為Project refs以獲取項目依賴性

[英]Replace DLL refs with Project refs for project dependencies in Visual Studio C# solution

是否可以在Visual Studio C#/ VB.NET解決方案中以編程方式將DLL引用替換為項目依賴項的項目引用?

背景:

我正在使用一些遺留代碼,其中每個項目的依賴項主要被引用為已編譯的DLL,而不是包含來自解決方案中相應項目的項目引用,甚至更糟 - 直接來自GAC!

現在,我必須手動刪除每個DLL引用,並將其替換為VS UI中的項目引用,用於幾十個項目中的每個解決方案。

由於GUID,編輯項目/解決方案XML .cs​​proj / .sln文件並不簡單:

<!--typical DLL reference-->

<ItemGroup>
    <Reference Include="MyDLL, Version=2.0.1.0, Culture=neutral, PublicKeyToken=1b6d1e0267e1acba, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>...\MyDLL.dll</HintPath>
    </Reference>
</ItemGroup>

<!--typical Project reference-->

<ItemGroup>
    <ProjectReference Include="..\MyDLL\MyDLL.csproj">
      <Project>{3cc27830-3d6b-4071-85e5-5a4006f11142}</Project>
      <Name>MyDLL</Name>
    </ProjectReference>
</ItemGroup>

使用此插件..它可能有助於解決您的問題

https://visualstudiogallery.msdn.microsoft.com/056617a4-da39-4d7b-8ecf-933009d9b721

它有以下描述

添加項目時,將引用從文件切換到項目(反之亦然)。 刪除項目時將恢復引用。

用法:

您正在開發項目A,其中包含程序集“b.dll”的文件引用。 在某些時候,您需要更改“b.dll”。 因此,您將項目“B”添加到解決方案中。 ReferenceSwitcher將檢測到項目B生成一個名為“b.dll”的程序集,並詢問您是否要將所有引用從“b.dll”切換到項目B.

然后在某個時候,您的解決方案中不再需要項目B,因此您刪除了項目B.參考切換器將檢測到B的引用用於指向“b.dll”並詢問您是否要更新它們。

更多信息: http//markkemper1.blogspot.com/2011/09/project-to-file-reference-switcher-for.html

編輯:有很多插件可以解決你的目的檢查出來

https://visualstudiogallery.msdn.microsoft.com/197d94f6-6276-471d-853d-a5a322ccb08c

或搜索所有

https://visualstudiogallery.msdn.microsoft.com/site/search?f%5B0%5D.Type=SearchText&f%5B0%5D.Value=reference&pageIndex=2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM