Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
3D-DISTLineClient
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 0a1cfbd1
由
张东亮
编写于
2021-12-28 15:14:08 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
错开出口料串与倒数第二个料串的时间点
1 个父辈
67b1a1ae
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
126 行增加
和
116 行删除
dll/Asa.IOModule.AIOBOX.dll
dll/Asa.IOModule.AIOBOX.xml
source/Common/Common.csproj
source/DISTLineClient/App.config
source/DeviceLibrary/IO/AIOBOX/AIOBOXManager.cs
source/DeviceLibrary/IO/IOManager.cs
source/DeviceLibrary/acDISTLine/DISTLineBean.cs
source/DeviceLibrary/acDISTLine/DISTLineBean_Partial.cs
source/DeviceLibrary/agvClient/AgvClient.cs
source/LoadCVSLibrary/LoadCSVLibrary.csproj
source/UserFromControl/Properties/Resources.Designer.cs
source/UserFromControl/UserFromControl.csproj
dll/Asa.IOModule.AIOBOX.dll
查看文件 @
0a1cfbd
此文件类型无法预览
dll/Asa.IOModule.AIOBOX.xml
查看文件 @
0a1cfbd
...
...
@@ -55,7 +55,7 @@
自动读取AO事件触发
</summary>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.#ctor"
>
<member
name=
"M:Asa.IOModule.AIOBOX.#ctor
(System.String)
"
>
<summary>
AIOBOX
</summary>
...
...
@@ -70,18 +70,6 @@
是否连接
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.ErrInfo"
>
<summary>
错误信息
</summary>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.LogPath(System.String,Asa.IOModule.LogType)"
>
<summary>
日志路径,连接前设置路径会自动保存日志
</summary>
<param
name=
"path"
>
文件夹路径
</param>
<param
name=
"type"
>
输出类型
</param>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.SetInput(Asa.IOModule.Box_Type,System.Int32)"
>
<summary>
设置输入端
...
...
@@ -286,6 +274,11 @@
监听结果线程
</summary>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.TestMethod"
>
<summary>
测试方法锁
</summary>
</member>
<member
name=
"T:Asa.IOModule.Box_Type"
>
<summary>
IO模块类型
...
...
@@ -326,62 +319,5 @@
闭合,打开,高电平
</summary>
</member>
<member
name=
"T:Asa.IOModule.LogType"
>
<summary>
日志类型
</summary>
</member>
<member
name=
"F:Asa.IOModule.LogType.OnlyError"
>
<summary>
仅错误信息
</summary>
</member>
<member
name=
"F:Asa.IOModule.LogType.All"
>
<summary>
所有
</summary>
</member>
<member
name=
"T:Asa.IOModule.LogFile"
>
<summary>
日志操作类
</summary>
</member>
<member
name=
"M:Asa.IOModule.LogFile.#ctor(System.String,System.String)"
>
<summary>
日志
</summary>
<param
name=
"path"
>
文件夹路径
</param>
<param
name=
"ip"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.Close"
>
<summary>
关闭文件
</summary>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutError(System.String)"
>
<summary>
输出错误
</summary>
<param
name=
"s"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutInfo(System.String)"
>
<summary>
输出信息
</summary>
<param
name=
"s"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutData(System.String,System.Byte[])"
>
<summary>
输出数据
</summary>
<param
name=
"tr"
></param>
<param
name=
"buff"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutData(System.String)"
>
<summary>
输出数据
</summary>
<param
name=
"s"
></param>
</member>
</members>
</doc>
source/Common/Common.csproj
查看文件 @
0a1cfbd
...
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.Common</RootNamespace>
<AssemblyName>Common</AssemblyName>
<TargetFrameworkVersion>v4.
0
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
6.1
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
...
...
source/DISTLineClient/App.config
查看文件 @
0a1cfbd
...
...
@@ -45,7 +45,21 @@
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
appender
name
=
"AIOBOX"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/aio/AIOBOX.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
param
name
=
"MaxSizeRollBackups"
value
=
"15"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"AIOBOX"
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"AIOBOX"
/>
</
logger
>
<
logger
name
=
"RollingLogFileAppender"
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
...
...
source/DeviceLibrary/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
0a1cfbd
...
...
@@ -86,7 +86,7 @@ namespace OnlineStore.DeviceLibrary
{
aioBox
=
new
AIOBOX
();
aioBox
.
LogPath
(
Application
.
StartupPath
+
@"\logs\aio\"
,
LogType
.
OnlyError
);
//
aioBox.LogPath(Application.StartupPath + @"\logs\aio\", LogType.OnlyError);
aioBox
.
IP
=
ioIp
;
aioBox
.
SetInput
(
Asa
.
IOModule
.
Box_Type
.
DI
,
DILength
);
...
...
@@ -99,7 +99,7 @@ namespace OnlineStore.DeviceLibrary
aioBox
.
DI_Changed_Event
+=
AioBox_DI_Changed_Event
;
;
aioBox
.
DO_Changed_Event
+=
AioBox_DO_Changed_Event
;
LogUtil
.
info
(
"开始连接:"
+
logName
+
":"
+
aioBox
.
ErrInfo
);
LogUtil
.
info
(
"开始连接:"
+
logName
);
aioBox
.
Connect
();
AIOMap
.
Add
(
ioIp
,
aioBox
);
...
...
@@ -268,7 +268,7 @@ namespace OnlineStore.DeviceLibrary
bool
result
=
aioBox
.
WriteDO
(
StartAddress
,
GetBox_Sta
(
onOff
));
if
(!
result
)
{
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 失败
:"
+
aioBox
.
ErrInfo
);
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 失败
"
);
}
}
else
...
...
@@ -466,17 +466,17 @@ namespace OnlineStore.DeviceLibrary
return
aioBox
;
}
//public override
bool IsConnect(string ip)
//
{
//
if (AIOMap.ContainsKey(ip))
//
{
//
if (AIOMap[ip].IsConn)
//
{
//
return true;
//
}
//
return false;
//
}
//
return false;
//
}
public
bool
IsConnect
(
string
ip
)
{
if
(
AIOMap
.
ContainsKey
(
ip
))
{
if
(
AIOMap
[
ip
].
IsConn
)
{
return
true
;
}
return
false
;
}
return
false
;
}
}
}
source/DeviceLibrary/IO/IOManager.cs
查看文件 @
0a1cfbd
...
...
@@ -14,7 +14,41 @@ namespace OnlineStore.DeviceLibrary
public
abstract
void
ConnectionIOList
(
List
<
string
>
dIODeviceNameList
);
static
Dictionary
<
string
,
bool
>
conStateIO
=
new
Dictionary
<
string
,
bool
>();
public
static
void
GetConnectionState
()
{
try
{
AIOBOXManager
manager
=
(
AIOBOXManager
)
instance
;
foreach
(
var
item
in
manager
.
AIOMap
)
{
if
(
conStateIO
.
ContainsKey
(
item
.
Key
))
{
if
(!
item
.
Value
.
IsConn
.
Equals
(
conStateIO
[
item
.
Key
]))
{
conStateIO
[
item
.
Key
]
=
item
.
Value
.
IsConn
;
if
(
item
.
Value
.
IsConn
)
{
LogUtil
.
info
(
"IO连接成功"
);
}
else
{
LogUtil
.
info
(
"IO连接断开"
);
}
}
}
else
{
conStateIO
.
Add
(
item
.
Key
,
item
.
Value
.
IsConn
);
}
}
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"GetConnectionState"
,
e
);
}
}
#
region
KNDIO
public
static
void
IOMove
(
string
ioType
,
IO_VALUE
ioValue
)
{
...
...
source/DeviceLibrary/acDISTLine/DISTLineBean.cs
查看文件 @
0a1cfbd
...
...
@@ -302,17 +302,17 @@ namespace OnlineStore.DeviceLibrary
//如果出口无料架,持续1000以上,放开阻挡放出一个料架
//每次放料架时间间隔3秒
if
(
IOManager
.
IOValue
(
IO_Type
.
L2_StopCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
span
.
TotalSeconds
>
3
)
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
span
.
TotalSeconds
>
5
)
{
//如果出料线体出口无料架,放一个料架到出口
if
(
LineManager
.
checkWatch
(
ol_noshelfWatch
,
1000
))
if
(
LineManager
.
checkWatch
(
ol_noshelfWatch
,
1000
)
&&
AgvClient
.
GetAction
(
Config
.
L2_AgvName
).
Equals
(
ClientAction
.
None
)
)
{
IOManager
.
CIOMove
(
IO_Type
.
L2_OutStopDown
,
IO_VALUE
.
LOW
);
LogUtil
.
info
(
" 出料线体出口无料架,下降 ["
+
IO_Type
.
L2_StopDown
+
"] ["
+
StopDownMS
+
"] 秒"
);
ol_lastSendShelfTime
=
DateTime
.
Now
;
StopIOMove
(
IO_Type
.
L2_StopDown
,
StopDownMS
);
}
}
}
else
if
(
span
.
TotalMilliseconds
>
StopDownMS
)
{
ol_noshelfWatch
.
Stop
();
...
...
@@ -329,9 +329,9 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
IOValue
(
IO_Type
.
L3_OutCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
span
.
TotalSeconds
>
3
)
{
//如果出料线体出口无料架,放一个料架到出口
if
(
LineManager
.
checkWatch
(
ol_noshelfWatch1
,
1000
))
if
(
LineManager
.
checkWatch
(
ol_noshelfWatch1
,
1000
)
&&
AgvClient
.
GetAction
(
Config
.
L3_AgvName
).
Equals
(
ClientAction
.
None
)
)
{
IOManager
.
CIOMove
(
IO_Type
.
L
1
_OutStopDown
,
IO_VALUE
.
LOW
);
IOManager
.
CIOMove
(
IO_Type
.
L
3
_OutStopDown
,
IO_VALUE
.
LOW
);
LogUtil
.
info
(
" 空料串线体出口无料架,下降 ["
+
IO_Type
.
L3_StopDown
+
"] ["
+
StopDownMS
+
"] 秒"
);
ol_lastSendShelfTime1
=
DateTime
.
Now
;
StopIOMove
(
IO_Type
.
L3_StopDown
,
StopDownMS
);
...
...
@@ -398,16 +398,13 @@ namespace OnlineStore.DeviceLibrary
//出口信号需要持续1秒钟
if
(
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
span
.
TotalSeconds
>
60
)
{
//if (LastOutShelfId.Equals("000").Equals(false
))
if
(
LineManager
.
checkWatch
(
il_outstopCheckWarch
,
1000
))
{
if
(
LineManager
.
checkWatch
(
il_outstopCheckWarch
,
1000
))
{
il_lastCallAgvTime
=
DateTime
.
Now
;
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
il_lastCallAgvTime
=
DateTime
.
Now
;
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
LogUtil
.
info
(
" 出料线体出口有料架"
+
LastOutShelfId
+
",呼叫agv小车["
+
Config
.
L2_AgvName
+
"] [NeedLeave] "
);
AgvClient
.
NeedLeave
(
Config
.
L2_AgvName
,
"B#"
);
}
//LogUtil.info(" 出料线体出口有料架" + LastOutShelfId + ",呼叫agv小车[" + Config.L2_AgvName + "] [NeedLeave] ");
AgvClient
.
NeedLeave
(
Config
.
L2_AgvName
,
"B#"
);
}
}
else
if
(
span
.
TotalMilliseconds
>
StopDownMS
)
...
...
@@ -441,7 +438,7 @@ namespace OnlineStore.DeviceLibrary
il_lastCallAgvTime2
=
DateTime
.
Now
;
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
LogUtil
.
info
(
" 空料串线体出口有料架"
+
LastOutShelfId
+
",呼叫agv小车["
+
Config
.
L3_AgvName
+
"] [NeedLeave] "
);
//
LogUtil.info(" 空料串线体出口有料架" + LastOutShelfId + ",呼叫agv小车[" + Config.L3_AgvName + "] [NeedLeave] ");
AgvClient
.
NeedLeave
(
Config
.
L3_AgvName
,
"B#"
);
}
}
...
...
@@ -518,7 +515,7 @@ namespace OnlineStore.DeviceLibrary
public
void
IoCheckProcess
()
{
DateTime
time
=
DateTime
.
Now
;
IOManager
.
GetConnectionState
();
if
(
runStatus
.
Equals
(
RunStatus
.
Wait
))
{
//获取新的Io状态
...
...
source/DeviceLibrary/acDISTLine/DISTLineBean_Partial.cs
查看文件 @
0a1cfbd
...
...
@@ -244,6 +244,7 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
IOMove
(
IO_Type
.
L1_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
L2_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
L3_Run
,
IO_VALUE
.
LOW
);
LogUtil
.
info
(
"链条关闭"
);
}
else
{
...
...
@@ -252,6 +253,7 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
IOMove
(
IO_Type
.
L1_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
L2_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
L3_Run
,
IO_VALUE
.
HIGH
);
LogUtil
.
info
(
"链条开启"
);
};
}
#
endregion
...
...
source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
0a1cfbd
...
...
@@ -88,9 +88,9 @@ namespace OnlineStore.DeviceLibrary
UpdateAction
(
id
,
Asa
.
ClientAction
.
Ready
);
if
(
id
.
Equals
(
LineManager
.
Config
.
L1_AgvName
))
{
LineManager
.
DISTLine
.
UpdateSleep
(
false
);
if
(
IOManager
.
IOValue
(
IO_Type
.
L1_InCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
IOManager
.
CIOMove
(
IO_Type
.
L1_Run
,
IO_VALUE
.
HIGH
);
Task
.
Factory
.
StartNew
(
delegate
{
SetStatus
(
id
,
""
,
ClientAction
.
MayEnter
);
...
...
@@ -108,14 +108,14 @@ namespace OnlineStore.DeviceLibrary
}
//两秒后改为离开状态
Thread
.
Sleep
(
3
000
);
Thread
.
Sleep
(
5
000
);
LogUtil
.
info
(
logName
+
" ,调用 FinishEnter "
);
SetStatus
(
id
,
""
,
ClientAction
.
FinishEnter
);
Thread
.
Sleep
(
5000
);
LogUtil
.
info
(
logName
+
" ,处理结束 更新状态为None "
);
SetStatus
(
id
,
""
,
ClientAction
.
None
);
LineManager
.
DISTLine
.
UpdateSleep
(
false
);
});
}
else
...
...
@@ -130,13 +130,27 @@ namespace OnlineStore.DeviceLibrary
string
shefId
=
LineManager
.
DISTLine
.
LastOutShelfId
;
if
(
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
LineManager
.
DISTLine
.
UpdateSleep
(
false
);
IOManager
.
CIOMove
(
IO_Type
.
L2_Run
,
IO_VALUE
.
HIGH
);
//agvClient.MayLeave(id);
SetStatus
(
id
,
shefId
,
ClientAction
.
MayLeave
);
LineManager
.
DISTLine
.
StopIOMove
(
IO_Type
.
L2_OutStopDown
,
2000
);
//LineManager.DISTLine.StopIOMove(IO_Type.L2_OutStopDown, 2000);
IOManager
.
CIOMove
(
IO_Type
.
L2_OutStopDown
,
IO_VALUE
.
HIGH
);
LogUtil
.
info
(
logName
+
"下降 L2_OutStopDown , "
+
shefId
);
Task
.
Factory
.
StartNew
(
delegate
{
try
{
WaitUtil
.
Wait
(
10000
,
delegate
{
IOManager
.
CIOMove
(
IO_Type
.
L2_OutStopDown
,
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
));
return
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
).
Equals
(
IO_VALUE
.
LOW
);
},
"等待L2_OutCheck=Low"
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
logName
+
":"
+
ex
.
ToString
());
}
IOManager
.
CIOMove
(
IO_Type
.
L2_OutStopDown
,
IO_VALUE
.
LOW
);
//两秒后改为离开状态
Thread
.
Sleep
(
5000
);
LogUtil
.
info
(
logName
+
" ,调用 FinishLeave "
+
shefId
);
...
...
@@ -147,6 +161,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
logName
+
" ,处理结束 更新状态为None "
);
SetStatus
(
id
,
""
,
ClientAction
.
None
);
});
LineManager
.
DISTLine
.
UpdateSleep
(
false
);
}
else
{
...
...
@@ -159,14 +174,25 @@ namespace OnlineStore.DeviceLibrary
string
shefId
=
LineManager
.
DISTLine
.
LastOutShelfId
;
if
(
IOManager
.
IOValue
(
IO_Type
.
L3_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
LineManager
.
DISTLine
.
UpdateSleep
(
false
);
LineManager
.
DISTLine
.
StopIOMove
(
IO_Type
.
L3_OutStopDown
,
1500
);
//agvClient.MayLeave(id);
SetStatus
(
id
,
shefId
,
ClientAction
.
MayLeave
);
LogUtil
.
info
(
logName
+
"下降 L3_OutStopDown , "
+
shefId
);
IOManager
.
CIOMove
(
IO_Type
.
L3_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
CIOMove
(
IO_Type
.
L3_OutStopDown
,
IO_VALUE
.
HIGH
);
Task
.
Factory
.
StartNew
(
delegate
{
try
{
WaitUtil
.
Wait
(
10000
,
delegate
{
IOManager
.
CIOMove
(
IO_Type
.
L3_OutStopDown
,
IOManager
.
IOValue
(
IO_Type
.
L3_OutCheck
));
return
IOManager
.
IOValue
(
IO_Type
.
L3_OutCheck
).
Equals
(
IO_VALUE
.
LOW
);
},
"等待L3_OutCheck=Low"
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
logName
+
":"
+
ex
.
ToString
());
}
IOManager
.
CIOMove
(
IO_Type
.
L3_OutStopDown
,
IO_VALUE
.
LOW
);
//两秒后改为离开状态
Thread
.
Sleep
(
5000
);
LogUtil
.
info
(
logName
+
" ,调用 FinishLeave "
+
shefId
);
...
...
@@ -177,6 +203,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
logName
+
" ,处理结束 更新状态为None "
);
SetStatus
(
id
,
""
,
ClientAction
.
None
);
});
LineManager
.
DISTLine
.
UpdateSleep
(
false
);
}
else
{
...
...
source/LoadCVSLibrary/LoadCSVLibrary.csproj
查看文件 @
0a1cfbd
...
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.LoadCSVLibrary</RootNamespace>
<AssemblyName>LoadCSVLibrary</AssemblyName>
<TargetFrameworkVersion>v4.
0
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
6.1
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
...
...
source/UserFromControl/Properties/Resources.Designer.cs
查看文件 @
0a1cfbd
...
...
@@ -19,7 +19,7 @@ namespace UserFromControl.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"System.Resources.Tools.StronglyTypedResourceBuilder"
,
"1
5
.0.0.0"
)]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"System.Resources.Tools.StronglyTypedResourceBuilder"
,
"1
7
.0.0.0"
)]
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
internal
class
Resources
{
...
...
@@ -47,8 +47,8 @@ namespace UserFromControl.Properties {
}
/// <summary>
///
使用此强类型资源类,为所有资源查找
///
重写当前线程的 CurrentUICulture 属性
。
///
重写当前线程的 CurrentUICulture 属性,对
///
使用此强类型资源类的所有资源查找执行重写
。
/// </summary>
[
global
::
System
.
ComponentModel
.
EditorBrowsableAttribute
(
global
::
System
.
ComponentModel
.
EditorBrowsableState
.
Advanced
)]
internal
static
global
::
System
.
Globalization
.
CultureInfo
Culture
{
...
...
source/UserFromControl/UserFromControl.csproj
查看文件 @
0a1cfbd
...
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UserFromControl</RootNamespace>
<AssemblyName>UserFromControl</AssemblyName>
<TargetFrameworkVersion>v4.
0
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
6.1
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论