من یک پروژه کتابخانهای در .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) نگه دارم. چطور میتونم این مشکل رو حل کنم؟
راهحلهای احتمالی که من در نظر دارم:
لطفا راهنمایی بفرمایید.
تاریخ :
1403/11/23
- ساعت :
08:24:00 PM
- بازدید :
64
- پاسخ :
2
|
تاریخ :
1399/11/10
- ساعت :
10:01:00 PM
- بازدید :
6940
- پاسخ :
4
|
تاریخ :
1399/04/09
- ساعت :
08:51:00 PM
- بازدید :
2990
- پاسخ :
1
|
تاریخ :
1399/03/25
- ساعت :
08:58:00 PM
- بازدید :
3694
- پاسخ :
1
|
تاریخ :
1398/10/03
- ساعت :
10:47:00 PM
- بازدید :
5237
- پاسخ :
8
|
تاریخ :
1400/12/18
- ساعت :
10:24:00 AM
- بازدید :
2056
- پاسخ :
1
|
تاریخ :
1401/01/26
- ساعت :
12:14:00 PM
- بازدید :
2921
- پاسخ :
1
|
تاریخ :
1403/10/20
- ساعت :
11:39:00 AM
- بازدید :
143
- پاسخ :
1
|
تاریخ :
1398/08/02
- ساعت :
02:59:00 AM
- بازدید :
5786
- پاسخ :
4
|
تاریخ :
1403/10/18
- ساعت :
10:20:00 PM
- بازدید :
126
- پاسخ :
1
|
تاریخ :
1403/11/23
- ساعت :
08:24:00 PM
- بازدید :
64
- پاسخ :
2
|
تاریخ :
1403/11/21
- ساعت :
04:52:00 PM
- بازدید :
147
- پاسخ :
1
|
تاریخ :
1399/11/10
- ساعت :
10:01:00 PM
- بازدید :
6940
- پاسخ :
4
|
تاریخ :
1399/07/14
- ساعت :
04:14:00 PM
- بازدید :
3015
- پاسخ :
1
|
تاریخ :
1403/11/17
- ساعت :
07:38:00 PM
- بازدید :
36
- پاسخ :
1
|
تاریخ :
1403/11/17
- ساعت :
05:54:00 PM
- بازدید :
50
- پاسخ :
1
|
تاریخ :
1403/11/02
- ساعت :
08:17:00 PM
- بازدید :
113
- پاسخ :
1
|
تاریخ :
1403/11/03
- ساعت :
07:21:00 PM
- بازدید :
82
- پاسخ :
1
|
تاریخ :
1403/11/16
- ساعت :
09:24:00 PM
- بازدید :
85
- پاسخ :
1
|
تاریخ :
1399/04/09
- ساعت :
08:51:00 PM
- بازدید :
2990
- پاسخ :
1
|