no install folder after building VB.Net DAL2 Compiled Module - dotnetnuke

I have a dnn 7 website set up locally for development through dnndev.me. However I did not install the dnndev.me in the standard root folder c:\websites\dnndev.me\ it is in another location in my user documents. But the dnn installation works fine. So I added the dotnetnuke project templates and created a new project following the instructions on this page:
http://www.chrishammond.com/blog/itemid/2616/using-the-new-module-development-templates-for-dot.aspx
When I build the module in debug and then release it says build successful and there are no errors, however there is no install folder and no installation files.
Dose some one have an idea of how I can trouble shoot this?
Thanks in advance.
EDIT 1:
I have user both the C# and VB tempates as well as the Da2l and non-Dal2 templates. Same problem with every template.
Also,
I tried updating the MsBuildCommunity to the current version, that did not solve the problem either.
And i tried reinstallin ghte msbuild from the project manager command line - i got an error and did not solve the problem.
EDIT 2
So I am using version 2.5 of the templates. It appears that part of the build is working correctly because there are files generated and copied/created in the dnndev.me\bin folder and the desktopmodlue\MODULENAME\obj\debug folder.
I tried to run the build from the visual studio command prompt, here is the command prompt output from a newly created and un altered vb template with Dal2:
C:\websites\dnndev.me\DesktopModules\DNNModule1>msbuild DNNModule1.vbproj
Microsoft (R) Build Engine version 4.0.30319.33440
[Microsoft .NET Framework, version 4.0.30319.34003]
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 11/29/2013 11:34:58 PM.
Project "C:\websites\dnndev.me\DesktopModules\DNNModule1\DNNModule1.vbproj" on
node 1 (default targets).
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output fi
les are up-to-date with respect to the input files.
CoreCompile:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Vbc.exe /noconfig /imports:Micr
osoft.VisualBasic,System,System.Collections,System.Collections.Generic,System
.Data,System.Linq,System.Diagnostics,System.Collections.Specialized,System.Co
nfiguration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.
Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System
.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.W
eb.UI.HtmlControls /optioncompare:Binary /optionexplicit+ /optionstrict:custo
m /nowarn:42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 /option
infer+ /nostdlib /rootnamespace:Christoc.Modules.DNNModule1 /sdkpath:"C:\Prog
ram Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0"
/highentropyva- /doc:obj\Debug\DNNModule1.xml /define:"CONFIG=\"Debug\",DEBUG
=-1,TRACE=-1,_MyType=\"Custom\",PLATFORM=\"AnyCPU\"" /reference:C:\websites\d
nndev.me\bin\DotNetNuke.dll,C:\websites\dnndev.me\bin\DotNetNuke.WebUtility.d
ll,"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFrame
work\v4.0\System.Configuration.dll","C:\Program Files (x86)\Reference Assembl
ies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll","C:\Program Files
(x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Dat
a.DataSetExtensions.dll","C:\Program Files (x86)\Reference Assemblies\Microso
ft\Framework\.NETFramework\v4.0\System.Data.dll","C:\Program Files (x86)\Refe
rence Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll","C:\Progr
am Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Sy
stem.Drawing.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\Fram
ework\.NETFramework\v4.0\System.EnterpriseServices.dll","C:\Program Files (x8
6)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.dll
","C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramew
ork\v4.0\System.Web.Extensions.dll","C:\Program Files (x86)\Reference Assembl
ies\Microsoft\Framework\.NETFramework\v4.0\System.Web.Mobile.dll","C:\Program
Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Syst
em.Web.Services.dll","C:\Program Files (x86)\Reference Assemblies\Microsoft\F
ramework\.NETFramework\v4.0\System.Xml.dll" /debug+ /debug:full /out:obj\Debu
g\DNNModule1.dll /target:library Components\FeatureController.vb Components\I
temController.vb Components\Item.vb Settings.ascx.designer.vb Settings.ascx.v
b DNNModule1SettingsBase.vb Edit.ascx.designer.vb Edit.ascx.vb "My Project\As
semblyInfo.vb" DNNModule1ModuleBase.vb View.ascx.designer.vb View.ascx.vb "C:
\Users\Jordan\AppData\Local\Temp\.NETFramework,Version=v4.0.AssemblyAttribute
s.vb"
vbc : warning BC40010: Possible problem detected while building assembly 'DNNMo
dule1': The version '00.00.01.*' specified for the 'file version' is not in the
normal 'major.minor.build.revision' format [C:\websites\dnndev.me\DesktopModul
es\DNNModule1\DNNModule1.vbproj]
CopyFilesToOutputDirectory:
Copying file from "obj\Debug\DNNModule1.dll" to "..\..\bin\DNNModule1.dll".
DNNModule1 -> C:\websites\dnndev.me\bin\DNNModule1.dll
Copying file from "obj\Debug\DNNModule1.pdb" to "..\..\bin\DNNModule1.pdb".
Copying file from "obj\Debug\DNNModule1.xml" to "..\..\bin\DNNModule1.xml".
Done Building Project "C:\websites\dnndev.me\DesktopModules\DNNModule1\DNNModul
e1.vbproj" (default targets).
Build succeeded.
"C:\websites\dnndev.me\DesktopModules\DNNModule1\DNNModule1.vbproj" (default ta
rget) (1) ->
(CoreCompile target) ->
vbc : warning BC40010: Possible problem detected while building assembly 'DNN
Module1': The version '00.00.01.*' specified for the 'file version' is not in t
he normal 'major.minor.build.revision' format [C:\websites\dnndev.me\DesktopMod
ules\DNNModule1\DNNModule1.vbproj]
1 Warning(s)
0 Error(s)
Time Elapsed 00:00:02.65
C:\websites\dnndev.me\DesktopModules\DNNModule1>
as for the MSBuild Community Tasks. I have the following folder in the packages directory:
MSBuildTasks.1.4.0.61. If I go to menu Tools -> Library Package Manager -> Manage NuGet Packages for Solution, the MsBuildTasks is listed in the installed packages (v 1.4.0.61).
EDIT 3
Okay, so i was thinking the same thing as chris in regards to the release vs debug setting. So i manually triggered a realease build using the command promt /p:configuration=release. THis caused a new error to appear:
C:\websites\dnndev.me\DesktopModules\DNNModule1>msbuild dnnmodule1.vbproj /p:Configuration=Release
Microsoft (R) Build Engine version 4.0.30319.33440
[Microsoft .NET Framework, version 4.0.30319.34003]
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 11/30/2013 12:06:27 AM.
Project "C:\websites\dnndev.me\DesktopModules\DNNModule1\dnnmodule1.vbproj" on node 1 (default targets).
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
CoreCompile:
Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files.
CopyFilesToOutputDirectory:
dnnmodule1 -> C:\websites\dnndev.me\bin\DNNModule1.dll
C:\websites\dnndev.me\DesktopModules\DNNModule1\BuildScripts\ModulePackage.targets(10,4): error MSB4062: The "MSBuild.Community.Tasks.XmlRead" task could not be loaded f
rom the assembly C:\websites\dnndev.me\DesktopModules\DNNModule1\BuildScripts\*Undefined*\packages\MSBuildTasks.1.4.0.61\tools\MSBuild.Community.Tasks.dll. Could not loa
d file or assembly 'file:///C:\websites\dnndev.me\DesktopModules\DNNModule1\BuildScripts\*Undefined*\packages\MSBuildTasks.1.4.0.61\tools\MSBuild.Community.Tasks.dll' or
one of its dependencies. The filename, directory name, or volume label syntax is incorrect. Confirm that the <UsingTask> declaration is correct, that the assembly and a
ll its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [C:\websites\dnndev.me\DesktopModules\DNNMo
dule1\dnnmodule1.vbproj]
Done Building Project "C:\websites\dnndev.me\DesktopModules\DNNModule1\dnnmodule1.vbproj" (default targets) -- FAILED.
Build FAILED.
Here is the screen shot of where I switch to release from debug. I must be missing something obvious.

Make sure that you are switching to RELEASE mode in the Toolbar in VS, not just the project properties. If you don't see the build toolbar, I recommend you configure VS for C# mode instead of VB, then the dropdown becomes easy to access.

Related

MSB4062 error publishing .NET7 app with publish profile

This is pretty easy to replicate but also code here:
https://github.com/dominicshaw/dotnet-publish-error
create an empty wpf project using .NET7
create a publish profile for ClickOnce
publish via command line (not visual studio)
Publish profile is almost totally standard (view here)
Command line from project directory:
dotnet publish PublishError.csproj -p:PublishProfile=ClickOnceProfile
Subsequent error:
MSBuild version 17.4.0+18d5aef85 for .NET
Determining projects to restore...
All projects are up-to-date for restore.
C:\Program Files\dotnet\sdk\7.0.100\Microsoft.Common.CurrentVersion.targets(4149,5): error MSB4062: The "Microsoft.Build.Tasks.RequiresFr
amework35SP1Assembly" task could not be loaded from the assembly Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKey
Token=b03f5f7f11d50a3a. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, a
nd that the task contains a public class that implements Microsoft.Build.Framework.ITask. [C:\Users\shawd\source\repos\PublishError\Publi
shError\PublishError.csproj]
I have the latest SDKs installed and VS2022 up to date. This only happens via command line - I am able to publish from Visual Studio (I am setting up devops, so require command line).
This happens regardless of adding nuget package for Microsoft.Build.Tasks.Core. Note however nuget package v15.1.0.0 is not available - I have tried 15.1.548 and the latest instead.
Totally at a loss! Any ideas very welcome.
Thanks vm
During the tests with your project and files, I finally managed to publish it successfully with the command dotnet publish PublishError.csproj -p:PublishProfile=FolderProfile.
Here is the document for dotnet publish, as is referred,
The preceding example uses the FolderProfile.pubxml file that is found
in the <project_folder>/Properties/PublishProfiles folder. If you
specify a path and file extension when setting the PublishProfile
property, they are ignored. MSBuild by default looks in the
Properties/PublishProfiles folder and assumes the pubxml file
extension.
And I also succeeded with dotnet publish with your project.
==============================
update on 11/19
So I suppose that the issue is resulted from your definition for -p:PublishProfile=ClickOnceProfile,it will change the path where this command would search for the publish file
A partial answer as my workaround for anyone struggling with a similar problem:
I have found it impossible to do this with the dotnet cli but I can do it with MSBuild if I specifically target 17.4 (VS2022). By default, my Azure DevOps Server 2020 capability is the 2019 MSBuild (15.X), so I have to be explicit:
"C:\Program Files\Microsoft Visual Studio\2022\Professional\Msbuild\Current\Bin\MSBuild.exe" /restore /Verbosity:m /t:Publish /p:RuntimeIdentifier=win-x64 /p:configuration=Release /p:PublishProfile=ClickOnceProfile
This works - so in my pipeline I have created a batch file which runs this, then I copy the files to my ClickOnce location.
Not ideal, but a working pipeline.
Interesting side note - this dotnet cli command which should be idenitical (and indeed uses the correct 17.4 MSBuild) - does not work (with the same error):
dotnet msbuild -target:Publish -property:RuntimeIdentifiers=win-x64;Configuration=Release;PublishProfile=ClickOnceProfile

Headless build .sqlproj file on TFS build server

I'm attempting to build a .sqlproj on a TFS Build Server. I've followed the instructions here:
http://sqlproj.com/index.php/2012/03/headless-msbuild-support-for-ssdt-sqlproj-projects/
which I was directed to from here:
How to build .sqlproj projects on a build server?
But I still cannot build. The error is:
C:\Program Files
(x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets
(441): The "SqlModelResolutionTask" task could not be instantiated
from "C:\Program Files
(x86)\Common7\IDE\Extensions\Microsoft\SQLDB\Dac\120\Microsoft.Data.Tools.Schema.Tasks.Sql.11.dll".
System.TypeInitializationException: The type initializer for
'Microsoft.Data.Tools.Schema.Tasks.Sql.DataTask' threw an exception.
---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Data.Tools.Schema.Sql, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The
system cannot find the file specified. at
Microsoft.Data.Tools.Schema.Sql.Extensibility.ToolingShim.ConfigureExtensions()
--- End of inner exception stack trace --- at Microsoft.Data.Tools.Schema.Tasks.Sql.DataTask..ctor()
The SqlTasks.targets file, used by the SQL project, references this:
C:\Program Files (x86)\Common7\IDE\Extensions\Microsoft\SQLDB\Dac\120\Microsoft.Data.Tools.Schema.Tasks.Sql.11.dll
which in turn references the invalid version mentioned above.
However, the files installed by the process in the link above don't install this version. They do install version 10.3.0.0, which is referenced by
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\Microsoft.Data.Tools.Schema.Tasks.Sql.12.dll
but this file is not the one used by the .targets file.
I don't know what the numbers at the end of this dll mean, but it seems odd to me that the one ending 12.dll references an earlier version of the one ending 11.dll.
I'm using Visual Studio 2013 and SQL Server 2012 - neither of which are installed on the build server, which I believe is the recommended situation. I don't know what the IDE folder is, or why the .targets file is using it.
I've spent about two days now trying to get this to build, but I'm out of ideas. Anyone know what's going on?
If you are running VS2013 SSDT is built into VS as long as you select it on the install screen. Install VS2013 with SSDT onto your build server. create a build definition and under Process > Build > Advanced Add the following to the MSBuild arguments to build the sql proj
/t:Build
if you have a publish profile and want to test publishing to SQL then add the publish switch and provide the link to the profile file
/t:Publish /p:SqlPublishProfilePath=MyDB.publish.xml.
this will publish the db to the server specified in the publish file.
the publish profile file can be created by opening the project in Visual Studio, right click on the project and select publish. Select save once you are happy with the publish options and then check in the file to source control so the build can find it, (project Root).
I was having this issue building a SQL Server project on an Azure DevOps CI/CD pipeline. None of the pre-built build tasks would work for me. And it is not possible to install a VS instance on the build server, I guess.
I solved this by avoiding to add a SQL Server project to the solution.
I achieved this by using an MSBuild SDK, capable of producing a SQL Server Data-Tier Application package (.dacpac) from the set of SQL scripts. By adding this second project to the solution, I managed to continue taking advantage of linking the project to a live database through SQL Server Object Explorer on Visual Studio. I gave a more detailed explanation in this answer.

VS2003 Build on Command Line Throw Errors

I am trying to do an automated build using the command line for Visual Studio 2003. I have the following codes:
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
Devenv /rebuild debug /project Project1 "C:\Builds\MyApp\Sample.sln"
Devenv /rebuild debug /project Project2 "C:\Builds\MyApp\Sample.sln"
Devenv /rebuild debug /project Project3 "C:\Builds\MyApp\Sample.sln"
In my script above, I build each project individually (like I saw in a tutorial on the internet). But each time I try to build, it throws me a lot of errors about the Microsoft Namespaces not being found. Below are sample error messages I get on the build:
Namespace or type 'Data' for the Imports
'Microsoft.Practices.EnterpriseLibrary.Data' cannot be found.
Namespace or type 'Sql' for the Imports
'Microsoft.Practices.EnterpriseLibrary.Data.Sql' cannot be found.
Namespace or type 'Logging' for the Imports
'Microsoft.Practices.EnterpriseLibrary.Logging' cannot be found.
Satellite assemblies could not be built because the main project
output is missing.
I have tried another method to build but this time it's the entire solution but still it gives me the same errors.
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
Devenv C:\Builds\MyApp\Sample.sln /rebuild "Debug"
Can somebody please tell me what i'm missing?
I have over 50 projects in a single solution and it would really help me big time to create an automated build for this.
Thanks a lot! Cheers!
Don't "call" the "vsvars32.bat" file.
Use the full path for "Devenv.exe" (instead of #1).
Optionally: (maybe this is the kicker)..... cd to the directory where the .sln file resides.
"c:\myfullpath\Devenv.exe" /rebuild debug /project Project1 "C:\Builds\MyApp\Sample.sln"
Try that from the command line and see what happens.
Future Note:
In 2.0, you do NOT use "devenv.exe", you change it to msbuild.exe. (Just as an FYI).
You can also look up MSBee. (How to build 1.1 apps with msbuild).
EDIT
All of these lines are working for me.......I don't have VS2003 installed anymore. But I used VS2010 devenv.exe to run some samples.
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" MySolution.sln /clean
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /build debug /project MyProject001 MySolution.sln
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /rebuild debug /project MyProject001 MySolution.sln
Note, if I switch the /clean with the MySolution.sln (in the first example).....it fails. So there may be some ordering voodoo.
I'm not sure exactly what you want but to automate the compilation of my C# projects I use msbuild.
For example this is a code I use to build some XNA project games:
Sample Code:
#echo off
set path=%path%;C:\Windows\Microsoft.NET\Framework\v4.0.30319
Rem In the above line replace "v4.0.30319" with the latest framework version you have
Rem (or include the path to youy inbuilt compiler)
Msbuild "C:\Builds\MyApp\Sample.sln"
Now to meet any other requirements you want you can just type msbuild /? after you added it to your path environemtn variable. The best thing is this will be inbuilt for every windows computor!
Please ask if you want to know anything else, or if you want to do something else.
Try this:
Each of your Projects should have a reference to the "Microsoft.Practices.EnterpriseLibrary" - Files, dlls or whereever these are stored.
Maybe during an open IDE one holds a reference and copies it to the correspodending build folder. (After Build Task). While builing it independly the references could not be found.
If any copy tasks exist - Check the relative paths. Maybe your depended files targets to a different folder after build compared to build in the IDE.?
Just another idea..

Publishing a C# application on .NET with log4net?

I've written my first C#.NET WinForms application and am ready to publish the first build for users to install. I'm using log4net as my logging utility, and have it set as:
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Logs\"/>
<param name="AppendToFile" value="true"/>
<param name="DatePattern" value="yyyy-MM-dd' Log.txt'" />
// etc
When I build my application, however, nothing ever gets logged. While running in visual studio, everything goes to /bin/Debug/Logs/yyyy-MM-dd Log.txt.
How do I specify where my program should install to, and what the working directory should be?
Keep in mind this program is fairly minimal (<6K lines of code) and I don't really know the difference in all the publishing types inside of visual studio. I just want to distribute an .exe to my users and track errors under a directory such as C:\Program Files\myapp. What am I doing wrong?
EDIT: When I right click the program and go to Properties from within the solution explorer, I'm setting the following options (which may be incorrect, I've never done this before):
Build -> All Configurations -> Output Path: C:\Program Files\myapp\bin\
Debug -> All Configurations -> Working directory: C:\Program Files\myapp\bin\
Publish -> Publish Location: C:\Program Files\myapp\Publish\
Publish Wizard -> Publish Location: C:\Program Files\myapp\Publish\
Publish Wizard -> From a CD-ROM or DVD-ROM
Publish Wizard -> The application will not check for updates
Are these settings correct or am I royally screwing something up? What I would like is for the user to be prompted an install location (defaulted to: C:\Program Files\myapp), and this location always be used for the working directory (so I know where the log file is). How do I achieve this?
Since you are using Click Once for deployment, the application will not be in the typical C:\Program Files\myapp directory.
Vista and Windows 7:
C:\Users\<UserName>\AppData\Local\Apps\2.0\<obscure foler>\<obscure folder>
Windows XP:
C:\Documents and Settings\<UserName>\LocalSettings\Apps\2.0\<obscure foler>\<obscure folder>
Dig around in those directories and you should see the log4net files.
Edit
An alternative to Click Once deployment is the Visual Studio installer: Walkthrough: Deploying a Windows-based Application. This will allow you to install the application in the standard C:\Program Files\myapp directory.
I'd recommend you create few dummy projects with the installer to gain some familiarity with the various options. Initially, creating MSI's with the installer can seem daunting if you haven't used it before; after a bit of usage, the VS installer will become quite easy to use.
Another suggestion would be to test your installers on a virtual machine so you don't do anything inadvertently in your personal environment.
When running in Visual Studio the log files get written under the Debug folder as that's where the exe is.
When you install the application to C:\Program Files\myapp (or where ever) the logs will be created relative to that location and so should be in C:\Program Files\myapp\Logs/yyyy-MM-dd Log.txt - assuming that the user has rights to create directories and files at that location.
The simplest way to prove this is to install the application and run it. Then check where the log file is created.

Creating Silverlight 3 applications with F#

Is there an easy way to create Silverlight 3 applications with F# (October CTP)?
I have seen the F# for Silverlight, but that only works with the May CTP.
I am using Visual Studio Integrated Shell 2008.
It is possible to use the May CTP templates with the October CTP version of F#
Create your new project, then unload it and edit the hint path for the FSharp.Core.dll to point to the October CTP,
<HintPath>$(ProgramFiles)\fsharp-1.9.7.8\Silverlight\2.0\bin\FSharp.Core.dll</HintPath>
then reload the project and build.
You do have to package the .xap file manually by e.g. using the chiron tool (or just zipping and renaming)
The AppManifest.xaml file looks like
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
RuntimeVersion="3.0.40818.0"
EntryPointAssembly="astroclock-fs"
EntryPointType="astroclock.fs.MyApp">
<Deployment.Parts>
<AssemblyPart x:Name="astroclock-fs" Source="astroclock-fs.dll" />
<AssemblyPart x:Name="FSharp.Core" Source="FSharp.Core.dll" />
</Deployment.Parts>
</Deployment>
where you fill in your own assembly name and entrypoint instead of mine
Create a folder in $(ProjectDir) to hold all the files to be packaged and copy C:\Program Files\FSharp-1.9.7.8\Silverlight\2.0\bin\FSharp.Core.dll into it, along with the AppManifest.xaml above
Create an empty file null.py in the folder to keep chiron quiet if you are using that tool
Add the following post-build steps
cd $(ProjectDir)
copy /y $(OutDir)$(TargetFileName) [your directory with all the output]
"C:\Program Files\IronPython 2.0\Silverlight\bin\chiron.exe" /d:[your directory with all the output] /z:app.xap
Create a test page to load app.xap
Build project
Load page in browser and enjoy
ADDED
You can make a permanent fix for the hint path needed to find FSharp.Core.dll by editing the template in C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache\FSharp\Silverlight\SilverlightLibrary3.zip\SilverlightLibrary.fsproj (and probably the version of the file in C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\FSharp\Silverlight\SilverlightLibrary3.zip just to be certain).
And a working proof of concept (source and everything bundled into the xap) here.
Looks like I got to wait for VS 2010.

Resources