[Silverlight入门系列]Image图片资源Resource的BuildAction如何设置
展开全部
Content
. 这种build action不会把图片和资源嵌入到当前project的assembly/dll中,但直接把图片放到XAP文件中。这样你可以在多个project中共享资源(图片)但是XAP中依旧包含图片文件。
None
这样就很清楚了,如果你希望把资源和图片都内嵌到一个project的assembly中,用第一种;不希望内嵌到XAP文件中,用第三种;不被其他project共享,那就用BuildAction=Resource。如果你希望其他项目和project共享这些资源和图片,那就设置BuildAction=Content或者None,用None的话这些图片不会内嵌到XAP中,也就是说可以用web地址访问这个图片。如果你是用代码动态加载,那就BuildAction=None。
这里推荐第二种,也就是
设置图片属性:BuildAction=Content
。假设你的project有个images目录
,放了你用到的图片,这些图片可以被其他项目共享,那就需要拷贝到web项目的某个发布目录中去,我们需要先建立一个目录:
\ClientBin\Assets\Images
,然后在当前项目属性的Build选项中加一个
PostBuildAction:copy/y"
..\..\images\*.*""$(SolutionDir)MyWebApplication\ClientBin\Assets\Images"配置这个action仅仅当
When the build updates the project output才运行。
这样的话,在任何Silverlight项目中XAML的Image图片的Source必须这样设置(可被多个Silverlight项目共享):<ImageSource="/Assets/Images/add.png"/Web发布的时候要记得ClientBin下面的目录拷贝过去并设置访问权限。
(注:如果你是在
一个独立的不编译为XAP的Silverlight Class Library project中
,例如一个UserControls的Silverlight Class Library project,那么其中的图片和资源应该设置BuildAction=Resource,而不是Content,因为这种Project不编译为XAP。)
. 这种build action不会把图片和资源嵌入到当前project的assembly/dll中,但直接把图片放到XAP文件中。这样你可以在多个project中共享资源(图片)但是XAP中依旧包含图片文件。
None
这样就很清楚了,如果你希望把资源和图片都内嵌到一个project的assembly中,用第一种;不希望内嵌到XAP文件中,用第三种;不被其他project共享,那就用BuildAction=Resource。如果你希望其他项目和project共享这些资源和图片,那就设置BuildAction=Content或者None,用None的话这些图片不会内嵌到XAP中,也就是说可以用web地址访问这个图片。如果你是用代码动态加载,那就BuildAction=None。
这里推荐第二种,也就是
设置图片属性:BuildAction=Content
。假设你的project有个images目录
,放了你用到的图片,这些图片可以被其他项目共享,那就需要拷贝到web项目的某个发布目录中去,我们需要先建立一个目录:
\ClientBin\Assets\Images
,然后在当前项目属性的Build选项中加一个
PostBuildAction:copy/y"
..\..\images\*.*""$(SolutionDir)MyWebApplication\ClientBin\Assets\Images"配置这个action仅仅当
When the build updates the project output才运行。
这样的话,在任何Silverlight项目中XAML的Image图片的Source必须这样设置(可被多个Silverlight项目共享):<ImageSource="/Assets/Images/add.png"/Web发布的时候要记得ClientBin下面的目录拷贝过去并设置访问权限。
(注:如果你是在
一个独立的不编译为XAP的Silverlight Class Library project中
,例如一个UserControls的Silverlight Class Library project,那么其中的图片和资源应该设置BuildAction=Resource,而不是Content,因为这种Project不编译为XAP。)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询