Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
老鱼er
et
提交
250ea7fa
E
et
项目概览
老鱼er
/
et
与 Fork 源项目一致
从无法访问的项目Fork
通知
10
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
et
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
250ea7fa
编写于
2月 28, 2015
作者:
T
tanghai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.使用ConcurrentQueue 代替 BlockingCollection, TNet性能有所提升
2.ENet windows上编译成x64
上级
e59cd1c0
变更
7
展开全部
隐藏空白更改
内联
并排
Showing
7 changed file
with
160 addition
and
246 deletion
+160
-246
CSharp/App/Editor/Editor.csproj
CSharp/App/Editor/Editor.csproj
+39
-0
CSharp/CSharp.sln
CSharp/CSharp.sln
+7
-212
CSharp/Platform/ENet/ENet.vcxproj
CSharp/Platform/ENet/ENet.vcxproj
+86
-0
CSharp/Platform/TNet/TPoller.cs
CSharp/Platform/TNet/TPoller.cs
+9
-16
CSharp/Platform/UNet/UNet.csproj
CSharp/Platform/UNet/UNet.csproj
+2
-0
CSharp/Platform/UNet/UPoller.cs
CSharp/Platform/UNet/UPoller.cs
+16
-18
CSharp/Test/UNetTest/UNetTest.csproj
CSharp/Test/UNetTest/UNetTest.csproj
+1
-0
未找到文件。
CSharp/App/Editor/Editor.csproj
浏览文件 @
250ea7fa
...
@@ -57,6 +57,45 @@
...
@@ -57,6 +57,45 @@
<WarningLevel>
4
</WarningLevel>
<WarningLevel>
4
</WarningLevel>
<Prefer32Bit>
false
</Prefer32Bit>
<Prefer32Bit>
false
</Prefer32Bit>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Debug|x64'"
>
<DebugSymbols>
true
</DebugSymbols>
<OutputPath>
bin\x64\Debug\
</OutputPath>
<DefineConstants>
DEBUG;TRACE
</DefineConstants>
<DebugType>
full
</DebugType>
<PlatformTarget>
x64
</PlatformTarget>
<ErrorReport>
prompt
</ErrorReport>
<CodeAnalysisRuleSet>
MinimumRecommendedRules.ruleset
</CodeAnalysisRuleSet>
<Prefer32Bit>
true
</Prefer32Bit>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Release|x64'"
>
<OutputPath>
bin\x64\Release\
</OutputPath>
<DefineConstants>
TRACE
</DefineConstants>
<Optimize>
true
</Optimize>
<DebugType>
pdbonly
</DebugType>
<PlatformTarget>
x64
</PlatformTarget>
<ErrorReport>
prompt
</ErrorReport>
<CodeAnalysisRuleSet>
MinimumRecommendedRules.ruleset
</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"
>
<DebugSymbols>
true
</DebugSymbols>
<OutputPath>
..\..\Bin\Debug\
</OutputPath>
<DefineConstants>
DEBUG;TRACE
</DefineConstants>
<DebugType>
full
</DebugType>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<ErrorReport>
prompt
</ErrorReport>
<CodeAnalysisRuleSet>
MinimumRecommendedRules.ruleset
</CodeAnalysisRuleSet>
<Prefer32Bit>
false
</Prefer32Bit>
<AllowUnsafeBlocks>
false
</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)' == 'Release|AnyCPU'"
>
<OutputPath>
..\..\Bin\Release\
</OutputPath>
<DefineConstants>
TRACE
</DefineConstants>
<Optimize>
true
</Optimize>
<DebugType>
pdbonly
</DebugType>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<ErrorReport>
prompt
</ErrorReport>
<CodeAnalysisRuleSet>
MinimumRecommendedRules.ruleset
</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<Reference
Include=
"Microsoft.Practices.Prism.Composition"
>
<Reference
Include=
"Microsoft.Practices.Prism.Composition"
>
<HintPath>
..\..\packages\Prism.Composition.5.0.0\lib\NET45\Microsoft.Practices.Prism.Composition.dll
</HintPath>
<HintPath>
..\..\packages\Prism.Composition.5.0.0\lib\NET45\Microsoft.Practices.Prism.Composition.dll
</HintPath>
...
...
CSharp/CSharp.sln
浏览文件 @
250ea7fa
此差异已折叠。
点击以展开。
CSharp/Platform/ENet/ENet.vcxproj
浏览文件 @
250ea7fa
...
@@ -5,10 +5,18 @@
...
@@ -5,10 +5,18 @@
<Configuration>
Debug
</Configuration>
<Configuration>
Debug
</Configuration>
<Platform>
Win32
</Platform>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Debug|x64"
>
<Configuration>
Debug
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|Win32"
>
<ProjectConfiguration
Include=
"Release|Win32"
>
<Configuration>
Release
</Configuration>
<Configuration>
Release
</Configuration>
<Platform>
Win32
</Platform>
<Platform>
Win32
</Platform>
</ProjectConfiguration>
</ProjectConfiguration>
<ProjectConfiguration
Include=
"Release|x64"
>
<Configuration>
Release
</Configuration>
<Platform>
x64
</Platform>
</ProjectConfiguration>
</ItemGroup>
</ItemGroup>
<PropertyGroup
Label=
"Globals"
>
<PropertyGroup
Label=
"Globals"
>
<ProjectGuid>
{C9992B7C-313E-4C9F-A954-640D01EDFB58}
</ProjectGuid>
<ProjectGuid>
{C9992B7C-313E-4C9F-A954-640D01EDFB58}
</ProjectGuid>
...
@@ -25,6 +33,13 @@
...
@@ -25,6 +33,13 @@
<CLRSupport>
false
</CLRSupport>
<CLRSupport>
false
</CLRSupport>
<CharacterSet>
Unicode
</CharacterSet>
<CharacterSet>
Unicode
</CharacterSet>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<UseDebugLibraries>
true
</UseDebugLibraries>
<PlatformToolset>
v120
</PlatformToolset>
<CLRSupport>
false
</CLRSupport>
<CharacterSet>
Unicode
</CharacterSet>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
Label=
"Configuration"
>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<UseDebugLibraries>
false
</UseDebugLibraries>
<UseDebugLibraries>
false
</UseDebugLibraries>
...
@@ -32,15 +47,28 @@
...
@@ -32,15 +47,28 @@
<CLRSupport>
false
</CLRSupport>
<CLRSupport>
false
</CLRSupport>
<CharacterSet>
Unicode
</CharacterSet>
<CharacterSet>
Unicode
</CharacterSet>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<UseDebugLibraries>
false
</UseDebugLibraries>
<PlatformToolset>
v120
</PlatformToolset>
<CLRSupport>
false
</CLRSupport>
<CharacterSet>
Unicode
</CharacterSet>
</PropertyGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.props"
/>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.props"
/>
<ImportGroup
Label=
"ExtensionSettings"
>
<ImportGroup
Label=
"ExtensionSettings"
>
</ImportGroup>
</ImportGroup>
<ImportGroup
Label=
"PropertySheets"
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<ImportGroup
Label=
"PropertySheets"
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
</ImportGroup>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
</ImportGroup>
<ImportGroup
Label=
"PropertySheets"
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<ImportGroup
Label=
"PropertySheets"
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
</ImportGroup>
</ImportGroup>
<ImportGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
Label=
"PropertySheets"
>
<Import
Project=
"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
Condition=
"exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"
Label=
"LocalAppDataPlatform"
/>
</ImportGroup>
<PropertyGroup
Label=
"UserMacros"
/>
<PropertyGroup
Label=
"UserMacros"
/>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<LinkIncremental>
true
</LinkIncremental>
<LinkIncremental>
true
</LinkIncremental>
...
@@ -50,11 +78,21 @@
...
@@ -50,11 +78,21 @@
<TargetExt>
.dll
</TargetExt>
<TargetExt>
.dll
</TargetExt>
<TargetName>
$(ProjectName)
</TargetName>
<TargetName>
$(ProjectName)
</TargetName>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
>
<TargetExt>
.dll
</TargetExt>
<TargetName>
$(ProjectName)
</TargetName>
<LinkIncremental>
true
</LinkIncremental>
<IncludePath>
$(SolutionDir)\Platform\;$(IncludePath)
</IncludePath>
<OutDir>
$(SolutionDir)\Bin\$(Configuration)\
</OutDir>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<LinkIncremental>
false
</LinkIncremental>
<LinkIncremental>
false
</LinkIncremental>
<OutDir>
$(SolutionDir)\Bin\Release\
</OutDir>
<OutDir>
$(SolutionDir)\Bin\Release\
</OutDir>
<IntDir>
$(SolutionDir)\Temp\Release\
</IntDir>
<IntDir>
$(SolutionDir)\Temp\Release\
</IntDir>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
>
<LinkIncremental>
false
</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|Win32'"
>
<ClCompile>
<ClCompile>
<WarningLevel>
Level3
</WarningLevel>
<WarningLevel>
Level3
</WarningLevel>
...
@@ -86,6 +124,37 @@
...
@@ -86,6 +124,37 @@
<PreserveSbr>
true
</PreserveSbr>
<PreserveSbr>
true
</PreserveSbr>
</Bscmake>
</Bscmake>
</ItemDefinitionGroup>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Debug|x64'"
>
<ClCompile>
<WarningLevel>
Level3
</WarningLevel>
<Optimization>
Disabled
</Optimization>
<PreprocessorDefinitions>
WIN32;_DEBUG;_LIB;ENET_DLL;ENET_BUILDING_LIB
</PreprocessorDefinitions>
<PrecompiledHeader>
NotUsing
</PrecompiledHeader>
<RuntimeLibrary>
MultiThreadedDebugDLL
</RuntimeLibrary>
<BasicRuntimeChecks>
EnableFastChecks
</BasicRuntimeChecks>
<MinimalRebuild>
false
</MinimalRebuild>
<ExceptionHandling>
Sync
</ExceptionHandling>
<FunctionLevelLinking>
false
</FunctionLevelLinking>
<BrowseInformation>
true
</BrowseInformation>
<CallingConvention>
Cdecl
</CallingConvention>
<CompileAsManaged>
false
</CompileAsManaged>
<DisableSpecificWarnings>
4146;%(DisableSpecificWarnings)
</DisableSpecificWarnings>
<DebugInformationFormat>
ProgramDatabase
</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>
true
</GenerateDebugInformation>
<AdditionalDependencies>
wsock32.lib;Ws2_32.lib;Winmm.lib
</AdditionalDependencies>
<AdditionalLibraryDirectories>
%(AdditionalLibraryDirectories)
</AdditionalLibraryDirectories>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<CLRSupportLastError>
Enabled
</CLRSupportLastError>
</Link>
<ProjectReference>
<UseLibraryDependencyInputs>
false
</UseLibraryDependencyInputs>
</ProjectReference>
<Bscmake>
<PreserveSbr>
true
</PreserveSbr>
</Bscmake>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|Win32'"
>
<ClCompile>
<ClCompile>
<WarningLevel>
Level3
</WarningLevel>
<WarningLevel>
Level3
</WarningLevel>
...
@@ -103,6 +172,23 @@
...
@@ -103,6 +172,23 @@
<ImageHasSafeExceptionHandlers>
false
</ImageHasSafeExceptionHandlers>
<ImageHasSafeExceptionHandlers>
false
</ImageHasSafeExceptionHandlers>
</Link>
</Link>
</ItemDefinitionGroup>
</ItemDefinitionGroup>
<ItemDefinitionGroup
Condition=
"'$(Configuration)|$(Platform)'=='Release|x64'"
>
<ClCompile>
<WarningLevel>
Level3
</WarningLevel>
<PreprocessorDefinitions>
WIN32;NDEBUG;_LIB;ENET_DLL;ENET_BUILDING_LIB;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
<PrecompiledHeader>
NotUsing
</PrecompiledHeader>
<DebugInformationFormat>
ProgramDatabase
</DebugInformationFormat>
<CompileAsManaged>
false
</CompileAsManaged>
<RuntimeLibrary>
MultiThreadedDLL
</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>
false
</GenerateDebugInformation>
<AdditionalDependencies>
wsock32.lib;Ws2_32.lib;Winmm.lib
</AdditionalDependencies>
<RandomizedBaseAddress>
false
</RandomizedBaseAddress>
<CLRSupportLastError>
Enabled
</CLRSupportLastError>
<ImageHasSafeExceptionHandlers>
false
</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ItemGroup>
<ClCompile
Include=
"callbacks.c"
/>
<ClCompile
Include=
"callbacks.c"
/>
<ClCompile
Include=
"compress.c"
/>
<ClCompile
Include=
"compress.c"
/>
...
...
CSharp/Platform/TNet/TPoller.cs
浏览文件 @
250ea7fa
...
@@ -7,37 +7,30 @@ namespace TNet
...
@@ -7,37 +7,30 @@ namespace TNet
public
class
TPoller
:
IPoller
public
class
TPoller
:
IPoller
{
{
// 线程同步队列,发送接收socket回调都放到该队列,由poll线程统一执行
// 线程同步队列,发送接收socket回调都放到该队列,由poll线程统一执行
private
readonly
BlockingCollection
<
Action
>
blockingCollection
=
new
BlockingCollection
<
Action
>();
private
readonly
ConcurrentQueue
<
Action
>
concurrentQueue
=
new
ConcurrentQueue
<
Action
>();
private
readonly
Queue
<
Action
>
localQueue
=
new
Queue
<
Action
>();
public
void
Add
(
Action
action
)
public
void
Add
(
Action
action
)
{
{
this
.
blockingCollection
.
Add
(
action
);
this
.
concurrentQueue
.
Enqueue
(
action
);
}
}
public
void
Run
(
int
timeout
)
public
void
Run
(
int
timeout
)
{
{
// 处理读写线程的回调
Action
action
;
if
(!
this
.
blockingCollection
.
TryTake
(
out
action
,
timeout
))
{
return
;
}
var
queue
=
new
Queue
<
Action
>();
queue
.
Enqueue
(
action
);
while
(
true
)
while
(
true
)
{
{
if
(!
this
.
blockingCollection
.
TryTake
(
out
action
,
0
))
Action
action
;
if
(!
this
.
concurrentQueue
.
TryDequeue
(
out
action
))
{
{
break
;
break
;
}
}
q
ueue
.
Enqueue
(
action
);
localQ
ueue
.
Enqueue
(
action
);
}
}
while
(
q
ueue
.
Count
>
0
)
while
(
localQ
ueue
.
Count
>
0
)
{
{
Action
a
=
q
ueue
.
Dequeue
();
Action
a
=
localQ
ueue
.
Dequeue
();
a
();
a
();
}
}
}
}
...
...
CSharp/Platform/UNet/UNet.csproj
浏览文件 @
250ea7fa
...
@@ -20,6 +20,8 @@
...
@@ -20,6 +20,8 @@
<DefineConstants>
DEBUG;TRACE
</DefineConstants>
<DefineConstants>
DEBUG;TRACE
</DefineConstants>
<ErrorReport>
prompt
</ErrorReport>
<ErrorReport>
prompt
</ErrorReport>
<WarningLevel>
4
</WarningLevel>
<WarningLevel>
4
</WarningLevel>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<AllowUnsafeBlocks>
true
</AllowUnsafeBlocks>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "
>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "
>
<DebugType>
pdbonly
</DebugType>
<DebugType>
pdbonly
</DebugType>
...
...
CSharp/Platform/UNet/UPoller.cs
浏览文件 @
250ea7fa
...
@@ -22,7 +22,10 @@ namespace UNet
...
@@ -22,7 +22,10 @@ namespace UNet
private
readonly
USocket
acceptor
=
new
USocket
(
IntPtr
.
Zero
);
private
readonly
USocket
acceptor
=
new
USocket
(
IntPtr
.
Zero
);
private
readonly
BlockingCollection
<
Action
>
blockingCollection
=
new
BlockingCollection
<
Action
>();
// 线程同步队列,发送接收socket回调都放到该队列,由poll线程统一执行
private
readonly
ConcurrentQueue
<
Action
>
concurrentQueue
=
new
ConcurrentQueue
<
Action
>();
private
readonly
Queue
<
Action
>
localQueue
=
new
Queue
<
Action
>();
private
ENetEvent
eNetEventCache
;
private
ENetEvent
eNetEventCache
;
...
@@ -160,29 +163,24 @@ namespace UNet
...
@@ -160,29 +163,24 @@ namespace UNet
public
void
Add
(
Action
action
)
public
void
Add
(
Action
action
)
{
{
this
.
blockingCollection
.
Add
(
action
);
this
.
concurrentQueue
.
Enqueue
(
action
);
}
}
private
void
OnEvents
(
int
timeout
)
private
void
OnEvents
()
{
{
// 处理读写线程的回调
while
(
true
)
Action
action
;
if
(!
this
.
blockingCollection
.
TryTake
(
out
action
,
timeout
))
{
return
;
}
var
queue
=
new
Queue
<
Action
>();
queue
.
Enqueue
(
action
);
while
(
this
.
blockingCollection
.
TryTake
(
out
action
,
0
))
{
{
queue
.
Enqueue
(
action
);
Action
action
;
if
(!
this
.
concurrentQueue
.
TryDequeue
(
out
action
))
{
break
;
}
localQueue
.
Enqueue
(
action
);
}
}
while
(
q
ueue
.
Count
>
0
)
while
(
localQ
ueue
.
Count
>
0
)
{
{
Action
a
=
q
ueue
.
Dequeue
();
Action
a
=
localQ
ueue
.
Dequeue
();
a
();
a
();
}
}
}
}
...
@@ -200,7 +198,7 @@ namespace UNet
...
@@ -200,7 +198,7 @@ namespace UNet
throw
new
ArgumentOutOfRangeException
(
string
.
Format
(
"timeout: {0}"
,
timeout
));
throw
new
ArgumentOutOfRangeException
(
string
.
Format
(
"timeout: {0}"
,
timeout
));
}
}
this
.
OnEvents
(
timeout
);
this
.
OnEvents
();
if
(
this
.
Service
()
<
0
)
if
(
this
.
Service
()
<
0
)
{
{
...
...
CSharp/Test/UNetTest/UNetTest.csproj
浏览文件 @
250ea7fa
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
<ErrorReport>
prompt
</ErrorReport>
<ErrorReport>
prompt
</ErrorReport>
<WarningLevel>
4
</WarningLevel>
<WarningLevel>
4
</WarningLevel>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<AllowUnsafeBlocks>
false
</AllowUnsafeBlocks>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "
>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "
>
<DebugType>
pdbonly
</DebugType>
<DebugType>
pdbonly
</DebugType>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录