我有一個連接到程式的應用程式。所以它基本上是一個插件。并且它附加的程式有不同的版本(2021、2022、2023)。要使用 API,我必須參考適當的 .dll 檔案。這些參考是唯一改變的東西。所以我所有插件版本的源代碼都是相同的,但我必須更改這些參考。我怎樣才能有效地做到這一點?在附加了不同 dll 的專案之間復制代碼不是我猜的最佳解決方案......我正在使用 MS Visual Studio。最好用 git 來做(怎么做?)或者 VS 本身有一些工具可以做到這一點?
請幫幫我,普熱梅克
uj5u.com熱心網友回復:
Visual Studio 允許您創建一個所謂的共享專案。它類似于一個庫,但它不是自己編譯的:它的源檔案被認為是每個參考共享專案的專案的一部分。
您的解決方案結構應如下所示:
- 插件2021
- 插件2022
- 插件2023
- 共享專案
您的共享專案將包含所有代碼,您的插件專案將僅包含對相應 API dll 和共享專案的參考。
uj5u.com熱心網友回復:
所以我為我的專案創建了不同的配置——每個版本一個或兩個,然后有條件地參考 .csproj 檔案中所需的 .dll。
在 ItemGroup 我現在有很多這樣的標簽:
<Reference Include="autodesk.inventor.interop, Version=26.0.0.0, Culture=neutral, PublicKeyToken=d84147f8b4276564, processorArchitecture=MSIL" Condition="'$(Configuration)' == 'Release' OR '$(Configuration)' == 'Debug'">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>False</EmbedInteropTypes>
<HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Autodesk.Inventor.Interop\v4.0_26.0.0.0__d84147f8b4276564\autodesk.inventor.interop.dll</HintPath>
</Reference>
它似乎作業得很好。使用 TargetPath 進行更多修改,我可以開始了!非常感謝大家的時間。
普熱梅克
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/486750.html
上一篇:如何在移動檔案時阻止VisualStudio2022自動更改命名空間和using陳述句?
下一篇:C#、Blazor、VS:如何抑制所有*.razor.cs和*.cshtml.cs檔案的IDE0051和IDE0052?
