Comments
Sort by recent activity
Please give us some information. As a business that has relied on SmartAssembly for years, we need to make a decision if it's time to move to a different provider, or wait it out. / comments
Please give us some information.As a business that has relied on SmartAssembly for years, we need to make a decision if it's time to move to a different provider, or wait it out.
We too require .NET 8 support for production builds. / comments
We too require .NET 8 support for production builds.
Well, the smoothest workflow is if SmartAssembly could produce the .exe the same way dotnet publish does. I don't know of an elegant way the SA dev team would accomplish this though. Publishing modern dotnet is quite a complex process as so many diverse platforms are now supported. The problem right now is that if the consumer of your product isn't super careful and tries to publish a single file exe, the unprotected assemblies will be embedded into the final product along side the properly protected assembly. Fortunately your documentation has a proper warning about this in the .NET 3 Single File Executable ref: https://documentation.red-gate.com/sa8/building-your-assembly/using-smartassembly-with-single-file-executables-net-core-3
But a new page for .NET 5 and .NET 6 should probably also be made. The documentation could be expanded though to indicate that if you use
dotnet publish, the unprotected assemblies will be packged into the
final exe. Another risk is that if a consumer of your product ever modifies their solution by adding more internal assemblies, and they forget to edit the .csproj file to add ExcludeFromSingleFile, those assemblies will then be packaged in the final result unprotected. Furthermore, if your users don't know how to use ilspy, and other various tools to validate their results, they could be publishing unprotected source unknowingly. Hence, the safest way is if SA can natively produce single file exe's in a similar way that dotnet publish does.
/ comments
Well, the smoothest workflow is if SmartAssembly could produce the .exe the same way dotnet publish does. I don't know of an elegant way the SA dev team would accomplish this though. Publishing mod...
.NET 3 single file exe's are much different than .NET 6. In .NET 3, the exe is really a self extracting file that extracts the contents (dll's, etc..) to a temporary folder and runs it from there. In .NET 6, it is a truly bundled and self contained file. We have found a "temporary" solution to deploy SmartAssembly protected .NET 6, single file exe's. In your SA project, merge/embed the assemblies required. Set your target to replace the dll in the obj folder (this is key as the obj folder file is used for publishing) Add this to all of your ProjectReferences in your .csproj file: <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
This is key to keep your unprotected assemblies from being packaged together in your single file .exe Publish with this: dotnet publish "My Project.csproj" -p:PublishSingleFile=true -c $(Configuration)
/ comments
.NET 3 single file exe's are much different than .NET 6.In .NET 3, the exe is really a self extracting file that extracts the contents (dll's, etc..) to a temporary folder and runs it from there.In...
I too am curious as to what people are migrating to? .NET 8 release was a long time coming and still no support in SmartAssembly, but many other protectors already support it on launch. / comments
I too am curious as to what people are migrating to? .NET 8 release was a long time coming and still no support in SmartAssembly, but many other protectors already support it on launch.