barnamenevisjavan
جمعه 17 فروردین 1397, 15:07 عصر
سلام من اسمبلی هارو داخل exe قرار میدم از کد زیر داخل csproj استفاده کردم تا برخی اسمبلی هارو از embed شدن استثنا کنم. تا اینجا همه چی بدون مشکل هستش
<EmbeddedResource Include="@(AssembliesToEmbed)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch('%(AssembliesToEmbed.Filename)', '^((?!Logify.Alert.Wpf).)*$')) And $([System.Text.RegularExpressions.Regex]::IsMatch('%(AssembliesToEmbed.Filename)', '^((?!Entity).)*$')) And $([System.Text.RegularExpressions.Regex]::IsMatch('%(AssembliesToEmbed.Filename)', '^((?!System.Data.SQLite).)*$')) And '%(AssembliesToEmbed.Extension)' == '.dll'" >
<LogicalName>%(AssembliesToEmbed.DestinationSubDirectory)%(Asse mbliesToEmbed.Filename)%(AssembliesToEmbed.Extensi on)</LogicalName>
</EmbeddedResource>
[/XML]
اما همینطور که میبینید اگر من 3 تا اسمبلی به اسم های
* System.Data.SQLite.dll
* System.Data.SQLiteEF6.dll
* System.Data.SQLiteLinq.dll
داشته باشم هر سه این ها انتخاب خواهند شد اما من میخوام فقط اسمبلی System.Data.SQLite.dll انتخاب بشه چکار باید بکنم؟
<EmbeddedResource Include="@(AssembliesToEmbed)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch('%(AssembliesToEmbed.Filename)', '^((?!Logify.Alert.Wpf).)*$')) And $([System.Text.RegularExpressions.Regex]::IsMatch('%(AssembliesToEmbed.Filename)', '^((?!Entity).)*$')) And $([System.Text.RegularExpressions.Regex]::IsMatch('%(AssembliesToEmbed.Filename)', '^((?!System.Data.SQLite).)*$')) And '%(AssembliesToEmbed.Extension)' == '.dll'" >
<LogicalName>%(AssembliesToEmbed.DestinationSubDirectory)%(Asse mbliesToEmbed.Filename)%(AssembliesToEmbed.Extensi on)</LogicalName>
</EmbeddedResource>
[/XML]
اما همینطور که میبینید اگر من 3 تا اسمبلی به اسم های
* System.Data.SQLite.dll
* System.Data.SQLiteEF6.dll
* System.Data.SQLiteLinq.dll
داشته باشم هر سه این ها انتخاب خواهند شد اما من میخوام فقط اسمبلی System.Data.SQLite.dll انتخاب بشه چکار باید بکنم؟