2 个应用程序(1 个是 COM 可见),具有在不同日期部署的共享公共参考库
2 Application (1 is COM Visible), with shared Common Reference Library deployed on different dates
我有 2 个单独的应用程序 运行 相同的 MyCommon DLL(不同版本)
同时 MyCommonLib.dll 已更新,现在版本为 2.0.0
现在使用 Project_1 创建 SolutionB,它在 Project_A Executable/DLL 文件夹上具有 MyCommonLib.dll (版本 2.0.0),Copied/Updated MyCommonLib.dll v2.0.0 的参考
在解决方案A中
Project_A>参考>MyCommonLib.dll(版本 1.0.0)
Project_B>参考>Project_A
注意事项:项目 B 是 COM 可见的(Windows 服务)
在日期 1
构建和部署 Project_B
解决方案 B
- Project_1>参考>MyCommonLib.dll(版本 2.0.0)
- 在日期 2
重新部署了解决方案 B
- 将 MyCommonLib.Dll (v.2) 复制到 SolutionA > Project_A 文件夹
我有应用程序 运行,在 1 次事件中,两个应用程序都必须执行一些工作.. 但它在 Project_B 上失败,说明类型 Project_B 无法加载文件或程序集MyCommonLib,版本=1.0.0 ...
旧版本在两个应用程序上都运行良好,如果构建和部署都运行良好
请大家帮忙
// Constructor of > SolutionA > ProjectB > Calling Class
public New() : base()
{
AppDomain.CurrentDomain.AssemblyResolve += AssemblyResolve;
}
private Assembly AssemblyResolve(object sender, ResolveEventArgs e)
{
Assembly ass = null;
if (e.Name.StartsWith("MyCommonLib,")) {
string path = Assembly.GetExecutingAssembly.Location;
path = IO.Path.GetDirectoryName(path);
path = IO.Path.Combine(path, "MyCommonLib.dll");
if (IO.File.Exists(path)) {
ass = Assembly.LoadFile(path);
}
}
return ass;
}
已解决
我有 2 个单独的应用程序 运行 相同的 MyCommon DLL(不同版本)
同时 MyCommonLib.dll 已更新,现在版本为 2.0.0 现在使用 Project_1 创建 SolutionB,它在 Project_A Executable/DLL 文件夹上具有 MyCommonLib.dll (版本 2.0.0),Copied/Updated MyCommonLib.dll v2.0.0 的参考
在解决方案A中
Project_A>参考>MyCommonLib.dll(版本 1.0.0)
Project_B>参考>Project_A
注意事项:项目 B 是 COM 可见的(Windows 服务)
在日期 1
解决方案 B
- Project_1>参考>MyCommonLib.dll(版本 2.0.0)
- 在日期 2
重新部署了解决方案 B
- 将 MyCommonLib.Dll (v.2) 复制到 SolutionA > Project_A 文件夹
我有应用程序 运行,在 1 次事件中,两个应用程序都必须执行一些工作.. 但它在 Project_B 上失败,说明类型 Project_B 无法加载文件或程序集MyCommonLib,版本=1.0.0 ...
旧版本在两个应用程序上都运行良好,如果构建和部署都运行良好
请大家帮忙
// Constructor of > SolutionA > ProjectB > Calling Class
public New() : base()
{
AppDomain.CurrentDomain.AssemblyResolve += AssemblyResolve;
}
private Assembly AssemblyResolve(object sender, ResolveEventArgs e)
{
Assembly ass = null;
if (e.Name.StartsWith("MyCommonLib,")) {
string path = Assembly.GetExecutingAssembly.Location;
path = IO.Path.GetDirectoryName(path);
path = IO.Path.Combine(path, "MyCommonLib.dll");
if (IO.File.Exists(path)) {
ass = Assembly.LoadFile(path);
}
}
return ass;
}
已解决