我認爲你可以做到以下幾點:
1)創建名爲Resources.ClientA
和Resources.ClientB
兩個組件。它們應該具有完全相同的內容(相同名稱空間中的相同類),但該內容應該是相應客戶端的客戶端特定的。例如,我已經添加下面的類僅僅是一個例子:
// assembly for ClientA :
namespace Resources
{
public class Class1
{
public static string Text { get { return "Client A text"; } }
}
}
// assembly for ClientB :
namespace Resources
{
public class Class1
{
public static string Text { get { return "Client B text"; } }
}
}
2)打開你的主項目文件(的csproj),並添加:
<PropertyGroup>
<ClientToken>ClientA</ClientToken>
</PropertyGroup>
3)在同一文件下添加引用:
<ItemGroup>
<ProjectReference Include="..\Resources.$(ClientToken)\Resources.$(ClientToken).csproj">
<Name>Resources.$(ClientToken)</Name>
</ProjectReference>
</ItemGroup>
現在通過替換ClientToken
屬性,您可以替換客戶端特定的程序集。您也可以將此屬性指定爲持續集成過程的一部分,但可能需要稍微修改csproj文件,以便從外部使用此屬性,並且只有在未設置時才設置某個默認值。
另外我不確定更簡單的方法來完成您的任務,可能有一些。