假設我有2倍的DLL由兩個不同的團隊來維護:檢測缺少方法
Team1.dll(V1.0)
public class Foo
{
int GetValue() { return 3; }
}
Team2.dll(V1.0)
public class Bar
{
public int IncFooValue(Foo foo) { return foo.GetValue() + 1; }
}
執行Team1.dll(v1.0)和Team2.dll(v1.0)時,一切正常。但是,假定Team1.dll已更改&方法Foo.GetValue()
已被刪除(v1.1),並在Team2.dll旁邊放置(全部不重建Team2.dll)。如果執行,那麼你會得到一個MissingMethodException。
問:我怎麼能檢測是否Team1.dll不再兼容Team2.dll不執行呢?
例如,像:
Foreach Class in Team2.dll
Foreach Method in Class
Foreach Instruction in Method
If Instruction not exists in Team1.dll
Throw "Does not exist"
你應該使用語義版本。去除的方法是斷 –
當他們不兼容,出現錯誤或策略發生變化(回退)時,您會發生什麼? – alexm
@ DanielA.White:我同意,但這不是版本編號。只是試圖檢測是否在沒有重建的情況下發生了重大更改 – jt000