من یک پروژه کتابخانهای در .NET Core به نام "LIBTOOBA" دارم که به شکل زیر پیکربندی شده است:
فایل پروژه (LIBTOOBA.csproj):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="Interop.TSMSLIB_TLB">
<HintPath>DLLS\Interop.TSMSLIB_TLB.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
</ItemGroup>
</Project>
جزییات DLL:
Interop.TSMSLIB_TLB
x86
تعاریف کلاسها:
namespace LIBTOOBA
{
class Authentication
{
//...
}
class Proxy
{
//...
}
using TSMSLIB_TLB;
class TSMS
{
private Authentication a = new Authentication();
public Authentication A
{
set { this.a = value; }
get { return this.a; }
}
private TSMS_Tooba t = new TSMS_Tooba();
public TSMS_Tooba T
{
set { this.t = value; }
get { return this.t; }
}
public void init()
{
t.UserName = this.a.UserName;
t.Password = this.a.PassWord;
t.LibKey = this.a.LibKey;
t.ProxyServer = this.p.Server;
t.ProxyPort = this.p.Port;
t.ProxyUserName = this.p.UserName;
t.ProxyPassword = this.p.PassWord;
}
}
}
Main Class:
namespace LIBTOOBA
{
public class CL_TOOBASMS
{
private readonly TSMS CL_SMS;
public CL_TOOBASMS(string userName, string password, string libKey)
{
// Validate inputs
if (string.IsNullOrWhiteSpace(userName))
throw new ArgumentException("Username cannot be null or empty", nameof(userName));
if (string.IsNullOrWhiteSpace(password))
throw new ArgumentException("Password cannot be null or empty", nameof(password));
if (string.IsNullOrWhiteSpace(libKey))
throw new ArgumentException("LibKey cannot be null or empty", nameof(libKey));
CL_SMS = new TSMS();
try
{
CL_SMS.A.UserName = userName;
CL_SMS.A.PassWord = password;
CL_SMS.A.LibKey = libKey;
}
catch (Exception ex)
{
throw new InvalidOperationException("Failed to set SMS library credentials.", ex);
}
}
public (string Number, int Credit, int UsedCredit, string LastDate) GetMyAccountInfo()
{
//...
return (number, credit, usedCredit, lastDate);
}
public string GetDeliveryInfo(string sendToNumber, string sendEvent)
{
//...
return delivery;
}
public string SendSMS(string sendToNumber, string sendMsg)
{
//...
return sendEventTxt;
}
}
}
مشکل من:
توی پروژه WPF که دارم که هدف پلتفرم آن AnyCPU
(x64) تنظیم شده است. وقتی کتابخانه "LIBTOOBA" را اضافه میکنم و برنامه را اجرا میکنم، با خطای زیر مواجه میشوم:
System.Runtime.InteropServices.COMException: 'Retrieving the COM class factory for component with CLSID {83A108DD-D51F-43AF-9290-00541698F0F9} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).'
نسخه x64 از Interop.TSMSLIB_TLB.dll
موجود نیست.
اگر هدف پلتفرم WPF را به x86
تغییر دهم، برنامه به درستی اجرا میشود. اما میخوام برنامه WPF NET Core 6 خود را با هدف پلتفرم AnyCPU
(x64) نگه دارم. چطور میتونم این مشکل رو حل کنم؟
راهحلهای احتمالی که من در نظر دارم:
لطفا راهنمایی بفرمایید.
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1156
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
593
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
345
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
307
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4260
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4276
- پاسخ :
1
|
تاریخ :
1398/09/07
- ساعت :
02:15:00 PM
- بازدید :
3873
- پاسخ :
5
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3169
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3250
- پاسخ :
1
|
تاریخ :
1403/04/12
- ساعت :
07:27:00 PM
- بازدید :
655
- پاسخ :
0
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
44
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
83
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1030
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
425
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
929
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1345
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1156
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
593
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
204
- پاسخ :
1
|